Access,
как и любая другая развитая программная система, обладает средствами
разработки программных приложений, ориентированных на конечных
пользователей. Эти средства базируются на инструментах двух типов:
макросах и модулях. Само понятие макроса подразумевает наличие набора
некоторых стандартных команд системы, или макрокоманд (допустим, таких,
как открытие формы, выполнение запроса, вывод отчета), из которых и
конструируется сам макрос.
Макрос может быть
как собственно макросом, состоящим из последовательности макрокоманд,
так и группой макросов. Группой макросов называют их набор, сохраняемый
под общим именем. В некоторых случаях для решения, должна ли в
запущенном макросе выполняться определенная макрокоманда, может
применяться условное выражение.
Особый интерес вызывает механизм вызова макросов в Access. Для этого существует две принципиальных возможности:
- вызов
макроса по команде пользователя (либо непосредственно из раздела
Макросы главного окна базы данных, либо с помощью меню или панели
инструментов, с которыми он также может быть ассоциирован)
- вызов макроса по некоторому системному событию (открытие или закрытие формы, изменение управляющего элемента и т. п.)
- Весьма
полезной представляется возможность организовать автоматическое
выполнение ряда действий при открытии базы данных. Для этого они должны
быть описаны в специальном макросе с именем Autoexec
Возможности
применения макросов при работе в среде СУБД Access можно наглядно
продемонстрировать на следующем примере. Предположим, что в ранее
созданную форму Бумаги мы хотим добавить процедуру дополнительного
контроля вводимых значений дат эмиссии ценных бумаг, которая должна
будет выдавать предупреждающее сообщение, если вводится слишком
"ранняя" дата. Допустим, что к таковым относятся даты, предшествующие 1
января 1991 года.

Технически
решение представляется удобным реализовать в виде макроса, вызываемого
по событию "до обновления", ассоциированному с полем ДатаЭм в форме
Бумаги. На рис. 7.28 показан процесс разработки данного макроса
(ему дано имя КонтрольДатаЭм). Из него видно, что макрос содержит три
макрокоманды:
- Первая, ОстановитьМакрос - прерывает работу, если введена дата более поздняя, чем 1 января 1991 года
- Вторая,
ОстановитьМакрос - выполняется, если пользователь считает, что несмотря
на сделанное предупреждение введенная дата является верной. Для вывода
предупреждения используется встроенная функция MsgBox
- Третья, отменяет событие ввода данных, если они после предупреждения признаются ошибочными
Хорошим стилем разработки макросов является снабжение их комментариями, располагаемыми в соответствующей колонке.
На рис. показана привязка разработанного макроса к событию "до обновления" поля ДатаЭм формы Бумаги.
|