Можно предусмотреть запуск макроса при возникновении некоторого события. Поскольку события определены в свойствах форм, отчетов и их элементов, связывание макроса с событием означает связывание его с формой или отчетом. Пользователь указывает имя макроса в строке соответствующего события в окне свойств для формы или отчета. При возникновении этого события макрос запускается автоматически.
Пример первый. Пусть необходима обработка данных при добавлении записей через форму. Если эта обработка реализуется некоторым макросом, то для автоматического запуска этого макроса можно использовать события «До вставки» и «После вставки», которые являются событиями формы. Событие «До вставки» наступает при вводе пользователем первого символа в новую запись, но до фактического добавления записи в базу данных. Событие «После вставки» наступает после добавления новой записи в базу данных. Для обработки этих событий необходимо в свойствах формы в соответствующую строку ввести имя макроса.
Пример второй. Пусть необходима обработка данных при обновлении значения в поле записи через форму. Для автоматического запуска макроса, выполняющего такую обработку, можно использовать события «До обновления» и «После обновления», которые являются как событиями формы, так и событиями ее элементов управления. Событие «До обновления» наступает, когда пользователь приступает к обновлению данных в элементе управления или записи. Событие «После обновления» наступает после обновления данных в элементе управления или записи. Данное событие возникает при потере фокуса элементом управления, т. е. при переходе к другому элементу или после сохранения записи. Сохранение записи выполняется при переходе к другой записи или выборе пользователем команды меню Записи/Сохранить запись. Событие возникает для новых и существующих записей. Для обработки этих событий необходимо в свойствах элемента управления формы в строку соответствующего события ввести имя макроса.
Для правильного определения порядка выполнения макросов, которые запускаются при возникновении событий, необходимо понимать, когда и в какой последовательности возникают события.
Рассмотрим для примера последовательность возникновения событий при закрытии формы и при переходе с одного элемента управления на другой.
Когда пользователь закрывает форму, для текущего элемента управления возникают события «Выход», «Потеря фокуса», А также события формы, такие как «Выгрузка», «Отключение», «Закрытие».
Когда пользователь переводит курсор (фокус) на другой элемент управления, для элемента, с которого переводится курсор, сначала возникает событие «Выход», а затем «Потеря фокуса»; для элемента, на который переводится курсор, сначала возникает событие «Вход», а затем «Получение фокуса».