Разработка приложений с использованием макросов
389
Рис. 9.21.
Окно свойств кнопки, вызывающей выполнение макроса
бытия
(Event) в строке
Нажатие
кнопки
(On Click)
выбрать вложенный макрос
(рис. 9.21).
Создание кнопки запуска макроса мастером
Кнопка для запуска макроса может быть создана в форме с помощью мастера. Для
этого надо нажать на вкладке ленты конструктора форм в группе
Элементы
управления
(Controls) кнопку
Кнопка
(Command Button). После вычерчивания
кнопки в форме открывается диалоговое окно мастера
Создание кнопок
(Command
Button Wizard), в котором надо выбрать категорию
Разное
(Miscellaneous) и дейст-
вие
Выполнить
макрос
(Run Macro). Далее следует выбрать макрос, который
будет запускаться при нажатии кнопки. Мастер позволяет выбрать рисунок или за-
дать текст подписи на кнопке, ввести имя кнопки запуска макроса.
Мастер создает для кнопки внедренный макрос, что отражается в свойстве
Нажа-
тие кнопки
(On Click) записью
[Внедренный макрос]
([Embedded Macro]). Соз-
данный мастером внедренный макрос содержит одну макрокоманду запуска изоли-
рованного макроса, выбранного в ходе работы мастера.
Очевидно, что для кнопки так же, как для любого другого элемента формы, можно
создать любой макрос.
Макросы данных
Макросы данных предназначены для добавления логики к данным в исходных таб-
лицах. Макросы данных связываются с событиями в базовой таблице и выполняют-
ся только при изменении, вставке или удалении записи. Такие макросы позволяют
проверять данные или выполнять вычисления. Привязывая логику к данным и со-
средотачивая ее в исходных таблицах, макросы данных обеспечивают доступ к ней
из объектов приложения. Так, выполнение операций с записями в формах, постро-
енных
на базовых таблицах, инициирует выполнение макросов данных.
Макросы данных, по сути, позволяют реализовать в базе данных, начиная с Access
2010, функции, которые в серверных базах данных реализуются с помощью особо-
го вида хранимых процедур —
триггеров
. Триггер также связывается с определен-
ной операцией в базовой таблице и каждый раз при выполнении этой операции вы-
зывается.
390
Глава 9
С помощью макросов данных, как и триггеров, могут выполниться действия по
обеспечению реляционной целостности данных, не поддерживаемые стандартными
средствами. Макрос данных также не имеет ни параметров, ни возвращаемого зна-
чения.
При программировании в приложении получить доступ к данным базы можно
только через формы и отчеты. В макросах данных в отличие от макросов, привя-
занных к
событиям, в объектах приложения для доступа к данным используются
ссылки на поля таблиц. Обращение к данным через поля объектов приложения не
допустимо.
Следует подчеркнуть, что реализация в макросах данных циклов макрокомандой
ДляКаждойЗаписи
(ForEachRecord) обеспечивает простоту решения многих задач
бизнес-логики.
Если ваш компьютер настроен для отправки и приема сообщений электронной поч-
ты, в макросе данных можно использовать макрокоманду
ОтправитьПочту
(SendEmail). Если такая настройка на компьютере не выполнена, системой будет
выдано сообщение о том, что не удалось отправить сообщение электронной почты.
Чтобы начать создание макроса данных, необходимо открыть таблицу в режиме
таблицы. При этом на вкладке ленты
Работа с таблицами |
Таблица
(Table Tools |
Table) отображаются кнопки создания макросов данных, которые будут выполнять-
ся
Перед изменением
(Before Change),
После обновления
(After Update) и т. д.
(рис. 9.22).
Рис. 9.22.
Команды работы с макросами данных на вкладке
Таблица
Для каждой таблицы может быть создано по одному макросу данных на каждое
из представленных на ленте действий. Щелчком мыши на кнопке открывается окно
создания макроса данных. На рис. 9.23 показано окно создания макроса дан-
ных таблицы ТОВАР, который будет выполняться
После удаления
(After Delete)
записи.
Список макрокоманд для макроса данных отличается от предлагаемого для макро-
сов базы данных. В разделе каталога макрокоманд
В этой базе данных
(In this
Database) отображаются макросы данных, созданные для таблиц.
Макросы данных внедряются в таблицу. Если для некоторого действия в
таблице
создан макрос данных, то соответствующая кнопка на ленте конструктора выделя-
ется цветом.
Разработка приложений с использованием макросов
391
Рис. 9.23.
Окно макроса данных с каталогом макрокоманд
Именованные макросы
Кроме макросов данных, связанных с отображенными на вкладке действиями, мо-
гут быть созданы именованные макросы данных. Эти макросы данных могут вы-
полняться только при вызове из других макросов данных. В именованном макросе
могут определяться параметры. Значения параметрам присваиваются в вызываю-
щем макросе.
Щелчком мыши на кнопке
Именованный макрос
(Named Macro) открывается
список команд, показанный на рис. 9.24.
Первая команда списка позволяет
Создать
именованный макрос
(Create Named
Macro), вторая —
Изменить именованный макрос
(Edit Named Macro), третья —
Рис. 9.24.
Список команд именованного макроса