Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Выполнение работы. 1. Создать базу данных в Microsoft Access с информацией о студентах, состоящую из одной таблицы ПервыйКурс






1. Создать базу данных в Microsoft Access с информацией о студентах, состоящую из одной таблицы ПервыйКурс. База данных находится в файле студенты.mdb. Таблица содержит четыре поля: Фамилия, Группа, Предмет и Оценка. Способ создания таблицы выбрать самостоятельно.

2. Разработать приложение в Microsoft Excel в редакторе VBA, использующее данные из базы данных студенты. Приложение состоит из формы, изображенной на рисунке и программного кода, приведенных ниже. В приложении будут использованы объекты DAO. Поэтому нужно будет подключить ссылку на библиотеку DAO 3.5 (DAO 3.6). Для этого в редакторе VBA необходимо выбрать команду Сервис, Ссылки (Tools, References) и в появившемся диалоговом окне Ссылки (References) установить флажок напротив элемента Microsoft DAO 3.5 Object Labrary.

 

Option Explicit

'

'

Dim РабочаяОбласть As Workspace

Dim БазаДанных As Database

Dim Запись As Recordset

Dim ЗаписьДубль As Recordset

Dim Фамилия As String

Dim Критерий As String

Dim Закладка As Variant

Private Sub CommandButton1_Click()

'

'Найти запись по фамилии

'

'Запоминается на закладке текущая запись

'

Закладка = Запись.bookmark

'

'Считывается фамилия из поля фамилия, на её основе

'создаётся критерий поиска и ищется первая запись с

'подобной фамилией

'

Фамилия = Trim(TextBox1.Text)

Критерий = " (Фамилия)='" & Фамилия & " '"

Запись.FindFirst Критерий

'Если запись с указанной фамилией найдена, то она

'отображается в диологовом окне.

'Если запись не найдена, то отображается сообщение и

'при помощи закладки происходит возврат записи, с

'которой был начат поиск.

'

If Запись.NoMatch = False Then

ПоказатьЗапись

Else

MsgBox " Запись не найдена", vbInformation, " Студенты"

Запись.bookmark = Закладка

ПоказатьЗапись

End If

End Sub

 

Private Sub CommandButton10_Click()

'

'Переход к последней записи

'

Запись.MoveLast

ПоказатьЗапись

End Sub

'

Private Sub CommandButton2_Click()

'

'Найти следующую запись по фамилии

'

Закладка = Запись.bookmark

Фамилия = Trim(TextBox1.Text)

Критерий = " [Фамилия]='" & Фамилия & " '"

Запись.FindNext Критерий

'

If Запись.NoMatch = False Then

ПоказательЗапись

Else

MsgBox " Больше таких записей нет", vbInformation, " Студенты"

Запись.bookmark = Закладка

ПоказатьЗапись

End If

End Sub

'

Private Sub CommandButton3_Click()

'

'Удаление записи

'

With Запись

.Delete

.MoveNext

End With

ПоказатьЗапись

End Sub

'

Private Sub CommandButton4_Click()

'

'Добавление записи

'

With Запись

.AddNew

.Fields(" Фамилия").Value = TextBox1.Text

.Fields(" Группа").Value = TextBox2.Text

.Fields(" Предмет").Value = TextBox3.Text

.Fields(" Оценка").Value = TextBox4.Text

.Update

End With

'

Exit Sub

'

End Sub

Private Sub CommandButton5_Click()

'

'Редактирование записи

'

With Запись

.Edit

.Fields(" Фамилия").Value = TextBox1.Text

.Fields(" Группа").Value = TextBox2.Text

.Fields(" Предмет").Value = TextBox3.Text

.Fields(" Оценка").Value = TextBox4.Text

.Update

End With

End Sub

'

Private Sub CommandButton6_Click()

'

'Закрытие записи, базы данных и окна

'

Запись.Close

БазаДанных.Close

РабочаяОбласть.Close

UserForm1.Hide

End Sub

'

Private Sub CommandButton7_Click()

'

'Переход к первой записи

'

Запись.MoveFirst

ПоказатьЗапись

End Sub

'

Private Sub CommandButton8_Click()

'

'Переход к предыдущей записи

'

Запись.MovePrevious

'

'Если достигнута первая запись, то отображается сообщение

'

If Запись.BOF = True Then

Запись.MoveFirst

MsqBox " Первая запись", vbInformation, " Студенты"

End If

ПоказатьЗапись

End Sub

Private Sub CommandButton9_Click()

'

'Переход к последующей записи

'

Запись.MoveNext

'

'Если достигнута последняя запись, то отображается сообщение

'

If Запись.EOF = True Then

Запись.MoveLast

MsgBox " Последняя запись", vbInformation, " Студенты"

End If

ПоказатьЗапись

End Sub

'

Private Sub OptionButton1_Click()

'

'Отображение данных только о хорошистах и отличниках

'

'Создание копии записи

'

Set ЗаписьДубль = Запись.Clone

'

'фильтрация Записей по критериям

'

Запись.Filter = " [Оценка]> =4"

'

'Создание отфильтрованной записи

'

Set Запись = Запись.OpenRecordset()

If Запись.RecordCount > 0 Then

'

'Если отфильтрованная запись существует, то она отображается в диалоговом окне

'

Показать Запись

Else

'

'Если отфильтрованной записи нет, то отображается соответствующее

'сообщение, востанавливается первоночальный объект Recordset

'и выбирается переключатель Все

MsgBox " Таких студентов нет", vbInformation, " Студенты"

Set Запись = ЗаписьДубль.Clone

Set Запись = Запись.OpenRecordset()

OptionButton2.Value = True

End If

End Sub

'

Private Sub OptionButton2_Click()

'

'Отображение всех студентов

'

Запись = Запись.Clone

Set Запись = ЗаписьДубль.OpenRecordset()

ЗаписьДубль.Close

Показать Запись

End Sub

'

'

Private Sub UserForm_Initilaze()

'

'Создание рабочей области

'

SetРабочая область = CreteWorkspace(Name: =" ", UserName: =" admin", Password: =" ", UseType: =dbUseJet)

'

'Открытие базы данных студентов.mdb

'

Set БазаДанных = РабочаяОбласть.OpenDatabase(Name: =" c: \My_DOC\студенты.mdb", Options: =True)

'

'Cоздание записей

'

Set Запись = БазаДанных.OpenRecordset(" ПервыйКурс", dbOpenDynaset)

'

'Принудительное перемещение на последнюю запись для того,

'чтобы определить число записей.

End Sub

 

Private Sub UserForm_Click()

 

End Sub

 

Private Sub UserForm_Initialize()

'

'Создание рабочей области

'

Set РабочаяОбласть = CreateWorkspace(Name: =" ", UserName: =" admin", Password: =" ", UseType: =dbUseJet)

'

'Открытие базы данных студентов.mdb

'

Set БазаДанных = РабочаяОбласть.OpenDatabase(Name: =" c: \Мои документы\студенты.mdb", Options: =True)

'

'Cоздание записей

'

Set Запись = БазаДанных.OpenRecordset(" ПервыйКурс", dbOpenDynaset)

'

'Принудительное перемещение на последнюю запись для того,

'чтобы определить число записей.

Запись.MoveLast

Label5.Caption = " Всего записей" & CStr(Запись.RecordCount)

Запись.MoveFirst

ПоказатьЗапись

With UserForm1

.Caption=”Студенты первого курса”

.OptionButton2.Value=True

End With

End Sub

 

Sub ПоказатьЗапись()

‘ Процедура вывода записи в поля диалогового окна

TextBox1.Text=Запись.Fields(“Фамилия”).Value

TextBox2.Text=Запись.Fields(“Группа”).Value

TextBox3.Text=Запись.Fields(“Предмет”).Value

TextBox4.Text=Запись.Fields(“Оценка”).Value

 

End Sub

 

3. Проверить работу приложения, добавляя, удаляя, редактируя записи и просмотреть базу данных студенты в Access после работы с приложением. В случае соответствующих изменений в базе данных можно судить о верной работе приложения и о правильном использовании объектов DAO.

4. Найти в программном коде приложения конструкции, соответствующие ключевым пунктам работы с DAO.

5. Оформить отчет, содержащий выше названные конструкции согласно порядку работы с объектами DAO.

 

Контрольные вопросы.

1. Назовите известные вам объекты DAO. Для чего они предназначены?

2. Назвать конструкции VBA для работы с этими объектами (в отчете)

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.