Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пос_БД_SQL_Server_Access.doc
Скачиваний:
9
Добавлен:
01.03.2025
Размер:
2.41 Mб
Скачать

6.6. Организация выполнения макроса

Запуск макроса из его окна. Для запуска макроса из его окна надо нажать кнопку Запуск на панели инструментов.

Запуск макроса из окна базы данных. Для запуска макроса из окна базы данных надо на вкладке Макросы установить курсор на имя макроса и дважды щелкнуть кнопкой мыши или нажать кнопку Запуск.

Запуск макроса из любого окна Access. Для запуска макроса из любого окна Access надо выполнить команду меню Сервис/Макрос и ввести в окне Запуск макроса имя макроса в поле Имя макроса. В поле Имя макроса можно ввести имя макроса, входящего в группу, записав <ИмяГруппыМакро-сов>.<ИмяМакроса>. В диалоговом окне Запуск макроса в поле со списком Имя макроса отображаются не только имена макросов, представленных в окне базы данных, но и имена макросов, входящих в группу макросов.

Автоматический запуск макроса при открытии базы данных. Пользователь имеет возможность создать макрос, запускающийся при каждом открытии базы данных. Этот макрос отличается только тем, что должен иметь имя AutoExec. В процессе открытия базы данных Access осуществляет поиск макроса с этим именем, и, если такой макрос существует, автоматически запускает его. В макросе AutoExec целесообразно поместить макрокоманды, которые подготовят нужную рабочую среду для пользователя, откроют формы и, если необходимо, другие объекты базы данных, разместят их на экране в удобном виде. Этот макрос создается, как любой другой макрос, и сохраняется под именем AutoExec. При следующем открытии базы данных Access автоматически запустит его. Если требуется открыть базу данных, не выполняя при этом макрос AutoExec, надо открывать базу данных при нажатой клавише Shift. Это позволяет отключать макрос AutoExec, если в окне диалога Параметры запуска, вызываемого командами меню Сервис, Параметры запуска, установлен флажок Специальные клавиши Access. Данный флажок находится в нижней части окна, которая открывается нажатием кнопки Дополнительно.

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

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

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

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

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

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

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

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