• открывать отчет для просмотра или печати;
• переходить от одного элемента управления (записи, поля) к другому;
• устанавливать свойства объекта;
• выполнять разнообразные команды и т. д.
Использование макросов для обработки событий
Наиболее часто макросы применяются для обработки событий. При этом макрос может функционировать и как самостоятельная программа, и в составе процедуры VBA (Visual Basic for Applications). Первый вариант мы рассмотрим в этом разделе, а второй станет предметом нашего внимания в главе 12.
Понятие события
Событие – это любое действие пользователя: щелчок кнопкой мыши, открытие формы и т. д. Событие может также инициироваться каким-либо оператором Visual Basic или самой системой Access. События связываются с формами, отчетами, разделами форм и отчетов, а также с элементами управления форм, в частности с полями. Откликом на событие может быть выполнение процедуры обработки событий на языке VBA или макроса.
Что такое обработка события? Например, давайте посмотрим, как выглядят свойства поля формы (пусть это будет форма Страны). Откроем ее в режиме конструктора (см. рис. 10.1).
Рис. 10.1
Надо открыть также список событий, предусмотренных для какого-либо поля данной формы (например, для поля Код). Для этого следует либо дважды щелкнуть левой кнопкой мыши в пределах этого поля, либо щелкнуть там же правой кнопкой мыши и в появившемся контекстном меню выбрать опцию Свойства. Когда на экране возникнет одноименное окно, откройте в нем вкладку Событие. В результате будет выведен искомый список возможных событий (см. рис. 10.2).
Событие возникает для этого поля в следующих случаях:
• при обновлении поля (до или после операции);
• при открытии/закрытии поля;
• при активизации/дезактивизации поля, когда оно получает или теряет фокус;
• при использовании кнопок мыши (щелчок, двойной щелчок, движение курсора вверх или вниз);
• при использовании клавиатурных клавиш (нажатие клавиши, движение курсора вверх или вниз);
• при перемещении курсора.
Для другого элемента управления (например, для кнопки, текстового поля и т. д.) перечень событий, предусматриваемых в Access 2002, может быть несколько иным, но тоже достаточно длинным.
Последовательности событий
Разработчик, который встраивает в систему определенные реакции программы на действия пользователя, должен учитывать следующее. Каждая отдельная операция (допустим, переход от одного элемента управления к другому) может повлечь за собой ряд событий, возникающих в определенной последовательности. Очень важно знать ее, поскольку от порядка событий зависят условия и очередность выполнения макросов и процедур обработки событий. Предположим, созданы две такие процедуры, и они должны выполняться в определенной последовательности. Значит, пользователь должен быть уверен, что события, вызывающие эти процедуры, возникают в том же порядке.
Порядок событий для элементов управления в формах События элемента управления возникают в форме при переводе фокуса на элемент управления, а также при изменении или обновлении данных в этом элементе.