- •Лабораторная работа № 7 Создание макросов
- •Лабораторная работа № 8 Использование язка vba при работе с основными объектами базы данных
- •8.1 Цель лабораторной работы
- •8.2 Теоретические положения
- •Задание на лабораторную работу
- •3. В Microsoft Access открыть вновь созданную бд.
- •2. Написать процедуру, создающую в текущей базе данных таблицу студенты с полями Номер студента, фио, Предмет 1, Предмет2, ПредметЗ, Предмет4, Средний балл в соответствии с приведенным примером:
- •Задание на лабораторную работу
- •Технология выполнения задания
- •Лабораторная работа № 10
- •Лабораторная работа № 11
- •11.1 Теоретические положения
- •11.2 Порядок выполнения работы
- •11.4 Программа работы
- •11.5 Содержание отчета
- •Контрольные вопросы
Лабораторная работа № 8 Использование язка vba при работе с основными объектами базы данных
8.1 Цель лабораторной работы
Ознакомление с возможностями языка Visual Basic for Applications (VBA) при создании и работе с базами данных, а также с основными объектами базы данных – таблицами, формами, полями.
8.2 Теоретические положения
VBA является полнофункциональным объектно-ориентированным языком программирования, позволяющим создавать приложения пользователя в среде СУБД Access. VBA — это общее средство программирования для всего семейства Microsoft Office, включая Word, Excel, Access, Outlook, Project.
VBA целесообразно использовать для создания нестандартных процедур обработки событий и функций, выполняющих сложные вычисления, которые невозможно записать в виде выражений.
Основой программ на VBA являются процедуры, состоящие из инструкций, выполняющих необходимые операции и вычисления. Процедуры хранятся в модулях, из которых они запрашиваются на выполнение. Собственно модуль не исполняется, а служит для объединения процедур по их функциональному назначению или привязке к форме или отчету.
Различают процедуры-подпрограммы и процедуры-функции.
Процедуры-подпрограммы (Sub) не возвращают значения вызывающей процедуре.
Процедура-подпрограмма может выполнять любые действия, например, корректировать данные базы, выполнять вычисления в полях, открывать формы, печатать отчеты.
Формат процедуры-подпрограммы имеет следующий вид:
[Private!Public] [Static] Sub <Имя процедуры>[([список аргументов>)]
[<описание переменных>]
[<инструкции>]
[Exit Sub]
[<инструкции>]
End Sub
Здесь Sub, End — отмечают соответственно начало и конец тела процедуры; Public — указывает, что процедура Sub является общей, т.е. доступной для всех других процедур во всех модулях; Private — указывает, что процедура Sub доступна только для процедур того модуля, в котором она описана; Static — указывает, что значения локальных переменных процедуры сохраняются между вызовами этой процедуры; Exit Sub — приводит к немедленному завершению процедуры Sub.
Процедура-функция (Function) возвращает значение, которое присваивается ее имени внутри процедуры.
Формат процедуры-функции имеет следующий вид:
[Private!Public] [Static] Function <Имя процедуры>[(<список аргументов>)]
[<описание переменных>]
[<инструкции>]
[<имя процедуры>=<выражение>]
[Exit Function]
[<инструкции>]
[<имя процедуры>=<выражение>]
End Function
В теле процедуры-функции (в отличие от процедуры-подпрограммы) присутствует инструкция присваивания имени процедуры значения, вычисляемого выражением. Эта инструкция позволяет возвратить значение из процедуры-функции в место ее вызова.
При описании переменных обычно используется инструкция присвоения Dim, которая присваивает выражение переменной или константе. Инструкции присвоения всегда включают в себя знак равенства (=). Для присвоения значения переменной, описанной как объект, применяется инструкция Set.
Задание на лабораторную работу
Написать процедуру VBA, создающую новую базу данных.
Написать процедуру, создающую в текущей базе данных таблицу СТУДЕНТЫ с полями Номер студента, ФИО, Предмет 1, Предмет2, ПредметЗ, Предмет4, Средний балл.
Внести в созданную таблицу пять записей во все поля (кроме поля Средний балл).
Создать процедуру, подсчитывающую средний балл всех студентов и заносящую рассчитанные значения в поле Средний балл.
Создать форму, отображающую данные таблицы СТУДЕНТЫ и содержащую кнопку, запускающую процедуру расчета среднего балла.
Технология выполнения задания
Открыть новую базу данных и вкладку Модули,
нажать кнопку Создать
написать процедуру, создающую новую базу данных в соответствий с приведенным примером:
'Создание новой базы данных
Sub CreateDatabaseX()
'Описание переменных
Dim myWs As Workspace
Dim myDb As Database
'Определяем стандартный объект Workspace (рабочее пространство)
Set myWs = DBEngine.Workspaces (0)
'Создаем новую базу данных 'с указанным используемым порядком
' символов dbLangGeneral
Set myDb = myWs.CreateDatabase("D:\NewDB.mdb", dbLangGeneral)
myDb.Close
End Sub
4. Сохранить программу
5. Запустить программу на выполнение
В результате выполнения процедуры на диске D должна появиться новая база данных с названием NewDB.mdb.