Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
4
Добавлен:
01.09.2019
Размер:
198.14 Кб
Скачать

Создание внедренного макроса

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

 ПРИМЕЧАНИЕ.   Внедренные макросы нельзя преобразовать в модули Visual Basic для приложений (VBA) с помощью инструмента Преобразование макроса в модули Visual Basic  в группе Макрос на вкладке Инструменты для базы данных. Если планируется со временем преобразовать макрос в модули VBA, постройте изолированный макрос, а не внедренный. В таком случае можно будет воспользоваться инструментом Преобразование макроса в модули Visual Basic для преобразования макросов в VBA.

  1. Откройте форму или отчет, в которые требуется внедрить макрос, в режиме конструктора или макета. Для этого щелкните форму или отчет в области переходов правой кнопкой мыши и выберите пункт Режим конструктора  или Режим макета .

  2. Если страница свойств еще не отображена, для ее отображения нажмите клавишу F4.

  3. Щелкните элемент управления или раздел, содержащий свойство события, в которое следует внедрить макрос.

Чтобы выбрать всю форму или отчет, выберите Отчет в раскрывающемся списке вверху страницы свойств.

  1. Откройте вкладку Событие на странице свойств.

  2. Щелкните свойство события, в которое нужно внедрить макрос, и нажмите кнопку   рядом с полем.

  3. В диалоговом окне Построитель выделите пункт Макросы и затем нажмите кнопку ОК.

  4. В построителе макросов щелкните первую строку в столбцеМакрокоманда.

  5. В раскрывающемся списке Макрокоманда выберите нужную макрокоманду.

  6. Укажите в области Аргументы макрокоманды все требуемые аргументы и перейдите к следующей строке макрокоманды.

  7. Повторяйте шаги 8 и 9, пока не завершите построение макроса.

  8. Нажмите кнопку Сохранить , затем нажмите кнопку Закрыть .

Макрос будет выполняться каждый раз при возникновении события.

 ПРИМЕЧАНИЕ.   Приложение Access позволяет создавать группу макросов как внедренный макрос. Однако при возникновении события выполняется только первый макрос из группы. Остальные макросы игнорируются, если они не вызываются из самого внедренного макроса (например, макрокомандойПриОшибке).

Пример. Внедрение макроса в событие отчета «Отсутствие данных»

Если при запуске отчета в источнике данных отсутствуют записи, отображается пустая страница отчета — то есть страница, на которой отсутствуют данные. Иногда желательно, чтобы вместо пустой страницы отображалось окно сообщения. Идеальным решением в этой ситуации является использование внедренного макроса.

  1. Откройте отчет в режиме конструктора или макета.

  2. Если страница свойств еще не отображена, для ее отображения нажмите клавишу F4.

  3. Откройте вкладку Событие на странице свойств.

  4. Выберите событие Отсутствие данных.

  5. Нажмите кнопку  .

  6. В диалоговом окне Построитель выделите пункт Макросы и затем нажмите кнопку ОК.

  7. Введите макрокоманды и аргументы из следующей таблицы.

МАКРОКОМАНДА

АРГУМЕНТЫ

MsgBox

«Записи не обнаружены.»; «Да»; «Сведения»; «Нет данных»

ОтменитьСобытие

[аргументы отсутствуют]

  1. Обратите внимание, что в предыдущей таблице аргументы представлены в том виде, в каком они отображаются в столбцеАргументы. Фактически они вводятся в разделе Аргументы макрокоманды, как показано в следующей таблице.

АРГУМЕНТ МАКРОКОМАНДЫ

ЗНАЧЕНИЕ

Сообщение

Записи не обнаружены.

Сигнал

Да

Тип

Сведения

Заголовок

Нет данных

  1. Нажмите кнопку Закрыть.

Построитель макросов будет закрыт, а для события Отсутствие данных будет выведено сообщение [Внедренный макрос].

  1. Сохраните и закройте отчет.

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