Наряду с рассмотренными способами запуска макросов можно предусмотреть запуск макроса при возникновении некоторого события.
Поскольку события определены в свойствах форм, их элементов и отчетов, связывание макроса с событием означает связывание его с формой или отчетом. Пользователь указывает имя макроса в строке соответствующего события в окне свойств для формы или отчета. При возникновении этого события макрос запускается автоматически.
¨ Пусть необходима обработка данных при добавлении записей через форму. Если эта обработка реализуется некоторым макросом, то для автоматического запуска этого макроса можно использовать события "До вставки" и "После вставки", которые являются событиями формы.
Событие "До вставки" наступает при вводе пользователем первого символа в новую запись, но до фактического добавления записи в базу данных. Событие "После вставки", наступает после добавления новой записи в базу данных. Для обработки этих событий необходимо в свойствах формы в соответствующую строку ввести имя макроса.
|
|
Рисунок 42
Пусть необходима обработка данных при обновлении значения в поле записи через форму. Для автоматического запуска макроса, выполняющего такую обработку, можно использовать события "До обновления" и "После обновления", которые являются как событиями формы, так и событиями ее элементов управления.
Событие "До обновления" наступает, когда пользователь приступает к обновлению данных в элементе управления или записи.
Событие "После обновления" наступает после обновления данных в элементе управления или записи. Данное событие возникает при потере фокуса элементом управления, т. е. при переходе к другому элементу или после сохранения записи. Событие возникает для новых и существующих записей.
Для обработки этих событий необходимо в свойствах элемента управления формы в строку соответствующего события ввести имя макроса.
Рисунок 43
В Access помимо присвоения значений свойствам в окне свойств допускается определение свойств объектов Форма, Отчет и Элемент управления, а также значений свойств разделов формы или отчета с помощью макрокоманды "ЗадатьЗначение".
Порядок выполнения макросов, вызываемых событиями. Для правильного определения порядка выполнения макросов, которые запускаются при возникновении событий, необходимо понимать, когда и в какой последовательности возникают события. Каждое отдельное действие, например, переход на другой элемент управления, может явиться причиной ряда других событий, возникающих в определенной последовательности. Если созданы макросы, которые должны выполняться в определенном порядке, пользователь должен быть уверен, что события, вызывающие эти макросы, возникают в том же порядке.
|
|
Поясним последовательность возникновения событий при закрытии формы и при переходе с одного элемента управления на другой.
Когда пользователь закрывает форму, для текущего элемента управления возникают события "Выход" и "Потеря фокуса", а также события формы, такие как "Выгрузка", "Отключение" или "Закрытие". Порядок возникновения событий будет следующим:
"Выход" Þ "Потеря фокуса" Þ"Выгрузка" Þ "Отключение" Þ "Закрытие".
Когда пользователь переводит курсор (фокус) на другой элемент управления, для элемента, с которого переводится курсор, сначала возникает событие "Выход", а затем "Потеря фокуса"; для элемента, на который переводится курсор, сначала возникает событие "Вход" (Еп1ег), а затем "Получение фокуса".