Глава 9
Аргументы макрокоманды
ЗапускМакроса
(RunMacro):
Имя
макроса
(Macro Name) — если запускается вложенный макрос, имя задает-
ся с указанием имени группы:
ИмяГруппыМакросов
.
ИмяВложенногоМакроса
Число
повторов
(Repeat Count) вызова макроса — если этот аргумент и аргу-
мент
Условие
повтора
(Repeat Expression) не заданы, вызванный макрос вы-
полняется один раз;
Условие
повтора
(Repeat Expression) — логическое выражение. При значении
Ложь
(False) повторное выполнение вызванного макроса не производится и во-
зобновляется выполнение вызывающего макроса. Если заданы значения обоих
аргументов,
Число
повторов
(Repeat Count) и
Условие
повтора
(Repeat
Expression), вызываемый макрос будет выполняться до тех пор, пока выражение,
заданное аргументом
Условие
повтора
(Repeat Expression), не получит значение
Ложь
(False), либо пока не исчерпается число указанных повторов.
Макрокоманда
ЗапускМакроса
(RunMacro) с помощью аргументов
Число
повто-
ров
(Repeat Count) и
Условие
повтора
(Repeat Expression) позволяет реализовать
циклы в программах на языке макросов.
При запуске исходного макроса его макрокоманды выполняются поочередно до тех
пор, пока не наступит очередь макрокоманды
ЗапускМакроса
(RunMacro). В этот
момент происходит вызов второго макроса. После завершения выполнения макро-
команд вызванного макроса выполнение вызывающего макроса возобновляется со
следующей макрокоманды.
Допускается выполнение макрокоманды
ЗапускМакроса
(RunMacro) из вызванно-
го макроса. Это означает, что сначала вызывается макрос A, из которого в свою
очередь вызывается макрос B, и т. д. В каждом случае по завершении вызванного
макроса выполняются следующие макрокоманды вызывающего макроса.
Создание кнопки запуска макроса в форме
Можно предусмотреть запуск макроса пользователем из формы путем нажатия
кнопки. Связь кнопки с макросом определяется в свойствах кнопки на вкладке
Со-
бытия
(Event) в строке
Нажатие
кнопки
(On Click).
Создание кнопки запуска макроса с помощью мыши
Для создания кнопки запуска макроса с помощью мыши надо в области навигации
выбрать макрос, который необходимо запустить при нажатии кнопки, и перетащить
его в форму, открытую в режиме конструктора. В форму будет помещена кнопка,
по которой будет выполняться данный макрос. Кнопка будет иметь подпись, соот-
ветствующую имени макроса.
Если макрос содержит вложенные макросы, при использовании этого метода орга-
низуется запуск по кнопке только первого вложенного макроса. Для запуска дру-
гого вложенного макроса необходимо в окне свойств кнопки на вкладке
Со-
Разработка приложений с использованием макросов
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.
Список команд именованного макроса
392
Do'stlaringiz bilan baham: |