Выполнение макроса с наступлением события

Наряду с рассмотренными способами запуска макросов можно предусмот­реть запуск макроса при возникновении некоторого события.

Поскольку события определены в свойствах форм, их элементов и отчетов, связывание макроса с событием означает связывание его с формой или от­четом. Пользователь указывает имя макроса в строке соответствующего со­бытия в окне свойств для формы или отчета. При возникновении этого со­бытия макрос запускается автоматически.

¨ Пусть необходима обработка данных при добавлении записей через фор­му. Если эта обработка реализуется некоторым макросом, то для автома­тического запуска этого макроса можно использовать события "До встав­ки" и "После вставки", которые являются событиями формы.

Событие "До вставки" наступает при вводе пользователем пер­вого символа в новую запись, но до фактического добавления записи в базу данных. Событие "После вставки", наступает после добавления новой записи в базу данных. Для обработки этих событий необходимо в свой­ствах формы в соответствующую строку ввести имя макроса.

Рисунок 42

Пусть необходима обработка данных при обновлении значения в поле записи через форму. Для автоматического запуска макроса, выполняю­щего такую обработку, можно использовать события "До обновления"  и "После обновления", которые являются как событиями формы, так и событиями ее элементов управления.

Событие "До обновления" наступает, когда пользователь приступает к обновлению данных в элементе управления или записи.

Событие "После обновления" наступает после обновления данных в элементе управления или записи. Данное событие возникает при потере фокуса элементом управления, т. е. при переходе к другому элементу или после сохранения записи. Событие возникает для новых и существующих записей.

Для обработки этих событий необходимо в свойствах элемента управления формы в строку соответствующего события ввести имя макроса.

Рисунок 43

В Access помимо присвоения значений свойствам в окне свойств допускает­ся определение свойств объектов Форма, Отчет и Элемент управления, а также значений свойств разделов формы или отчета с помощью макрокоманды "ЗадатьЗначение".

Порядок выполнения макросов, вызываемых событиями. Для правильного определения порядка выполнения макросов, которые запускаются при воз­никновении событий, необходимо понимать, когда и в какой последова­тельности возникают события. Каждое отдельное действие, например, пере­ход на другой элемент управления, может явиться причиной ряда других событий, возникающих в определенной последовательности. Если созданы макросы, которые должны выполняться в определенном порядке, пользова­тель должен быть уверен, что события, вызывающие эти макросы, возника­ют в том же порядке.

Поясним последовательность возникновения событий при закрытии формы и при переходе с одного элемента управления на другой.

Когда пользователь закрывает форму, для текущего элемента управления возникают события "Выход" и "Потеря фокуса", а также события формы, такие как "Выгрузка", "Отключение" или "Закрытие". Порядок возникновения событий будет следующим:

 "Выход" Þ "Потеря фокуса" Þ"Выгрузка" Þ "Отключение" Þ "Закрытие".

Когда пользователь переводит курсор (фокус) на другой элемент управле­ния, для элемента, с которого переводится курсор, сначала возникает собы­тие "Выход", а затем "Потеря фокуса"; для элемента, на который переводится курсор, сначала возникает событие "Вход" (Еп1ег), а затем "Получение фокуса".


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: