Кафедра «Информационные технологии»
Базы данных
Курс лекций по дисциплине
«Базы данных»
для специальности направления 1-40 01 02‑01 «Информационные системы и технологии (в проектировании и производстве)»
автор-составитель
, доцент, канд. физ.-мат. наук
Основы программирования в СУБД MS Access
1. Выбор между использованием макросов и программных модулей на VBA
2. Понятие модуля. Типы и способы создания модулей.
3. Модели объектов для работы с данными.
4. Примеры модулей
2
1. Выбор между использованием макросов
и программных модулей на VBA
В Access многие действия выполняются через интерфейс пользователя или с помощью макросов. В других СУБД решение тех же самых задач может потребовать программирования. Выбор между созданием макроса или разработкой программы на языке VBA (Visual Basic for Applications) обычно определяется действиями, которые требуется выполнять в приложении Access.
3
-
Когда используются макросы?
-
Макрос - удобное средство выполнения простых задач:
-
Открытие/ закрытие объектов БД (форм, отчетов и др.). Действия, связывающие различные объекты БД, выполняются просто, т.к. имеют простой синтаксис - все аргументы для каждой макрокоманды отображаются в окне макроса.
4
-
Когда используются макросы?
-
Определение общих назначенных клавиш («горячих» клавиш и сочетаний клавиш).
-
Выполнение простых действий при открытии БД (хотя ряд простых действий, которые должны выполняться при открытии БД, можно настроить без макросов: в окне Параметры запуска – меню Сервис).
5
-
Когда используются программные модули на VBA?
-
Упрощение управления базой данных
-
Макросы «существуют» отдельно от использующих их форм/отчетов => трудно поддерживать БД, где реакции на события в формах/отчетах определяют много макросов.
-
Процедуры обработки событий VBA «встроены» в описания соответствующих форм/отчетов. При переносе формы/отчета из одной БД в другую эти процедуры автоматически переносятся вместе с формой или отчетом.
6
-
Когда используются программные модули на VBA?
-
Создание пользовательских функций
-
В Access много встроенных функций, которые можно использовать сразу. VBA позволяет пользователям создавать также собственные функции как для решения задач, выходящих за рамки возможностей встроенных функций, так и для замены сложных выражений со встроенными функциями. Пользовательские функции также используются в выражениях для выполнения общих операций над несколькими объектами.
7
-
Когда используются программные модули на VBA?
-
Обработка сообщений об ошибках
-
Стандартные сообщения об ошибках Access, выводящиеся на экран при возникновении нештатных ситуаций во время работы с БД, могут оказаться непонятными для пользователя.
-
С помощью VBA можно перехватывать ошибку при ее возникновении и выводить собственное «понятное» пользователю сообщение об ошибке или выполнять определенные действия в ответ на ошибку.
8
-
Когда используются программные модули на VBA?
-
Создание или обработка объектов
-
В большинстве случаев удобнее создавать или изменять объекты в режиме Конструктор. Однако в некоторых ситуациях приходится работать с описанием объекта в программе. Средства VBA позволяют программно обрабатывать как объекты в БД, так и саму БД.
9
-
Когда используются программные модули на VBA?
-
Выполнение действий на уровне системы
-
Выполнение в макросе макрокоманды RunApp (ЗапускПриложения) позволяет запускать из Access другое Windows (MS-DOS) приложение, но других возможностей использовать макрос вне Access нет.
-
Средства VBA позволяют: проверять наличие файлов, программировать объекты, выполнять динамический обмен данными с другими приложениями, вызывать функции из библиотек динамической компоновки Windows и др.
10
-
Когда используются программные модули на VBA?
-
Обработка записей по одной
-
Инструкции VBA позволяют перебирать наборы записей по одной и выполнять определенные действия над полями отдельной записи (например, реализовывать алгоритмы обработки двумерных массивов для набора записей).
-
В отличие от этого, макросы позволяют работать только с целым набором записей.
11
-
Когда используются программные модули на VBA?
-
Передача аргументов в процедуры VBA
-
Аргументы для макрокоманд можно задавать в нижней части окна макроса при его создании, но при выполнении макроса изменять их невозможно.
-
При помощи VBA можно передавать аргументы в выполняемую программу или использовать в качестве значений аргументов переменные (макросы это делать не позволяют). Передача аргументов повышает гибкость выполнения процедур VBA.
12
2. Понятие модуля.
Типы и способы создания модулей.
Модуль (программный модуль) - это совокупность описаний, инструкций и процедур, сохраненных под общим именем для организации программ на языке VBA.
Типы модулей в Access
13
Стандартные модули
содержат общие процедуры,
не связанные с конкретным объектом БД (формой, отчетом). В эти модули помещают процедуры Sub и Function, которые должны быть доступны для всех объектов в данном приложении.
Стандартные модули могут использоваться и другими приложениями Access.
14
Модуль класса отличается от стандартного модуля тем, что, кроме процедур, он содержит описание объекта и используется для создания классов (объектов). Отдельные модули класса, расположенные на вкладке Модули окна БД, содержат описание класса (объекта), созданного пользователем.
К этим модулям также относятся модули объектов (форм, отчетов), связанные с конкретными формами или отчетами.
15
Способы создания модулей
Первый способ создания пустого модуля: выбрать "Да" в поле наличия модуля на вкладке "Все" в окне диалога Форма или Отчет. Окно диалога вызывается командой "Свойства" из контекстного меню, находясь в конструкторе форм или отчетов.
16
1-й способ создания пустого модуля
17
Второй способ создания модуля выполняется кнопкой "Программа" на панели инструментов в режиме конструктора форм или отчетов.
При щелчке мышью на кнопке Программа запускается редактор VB, в котором вводится текст программы соответствующего модуля.
18
2-й способ создания модуля
19
2-й способ создания модуля
(в MS Access 2003)
20
Способ создания модуля класса
21
Окно модуля
22
23
24
25
26
3. Модели объектов для работы с данными