Понятие макрокоманды и макроса
Макросом называют набор из одной или более команд, выполняющих определенные, часто используемые операции, например, открытие форм или печать отчетов.
Макросы могут быть полезны для автоматизации часто выполняемых действий. Если записать эти действия в виде макроса, то они будут выполняться автоматически при запуске макроса. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет или выведет на экран форму.
Макрокоманда – основной компонент макроса, инструкция, которая самостоятельно или в комбинации с другими макрокомандами определяет выполняемые в макросе действия (иногда макрокоманды называют просто командами макроса). Серия макрокоманд, из которых состоит макрос, выполняется каждый раз при его запуске.
Создание макроса
Для создания макроса в окне базы данных нужно выбрать вкладку Макросы и нажать на кнопку Создать. Появится окно конструктора макросов (рис.1). Оно состоит из двух столбцов: Макрокоманда и Примечание. В столбце Макрокоманда перечисляются команды, подлежащие выполнению. Чтобы в ячейке столбца Макрокоманда задать нужную макрокоманду, ее следует выбрать из списка.
Столбец Примечание, содержит комментарии к командам. При выполнении макроса он игнорируется, однако его заполнение делает текст макроса понятнее.
Выполнение каждой макрокоманды зависит от ее аргументов (некоторые макрокоманды не имеют аргументов). Аргументы вводятся в специально отведенные для этого поля, расположенные в нижней части окна макроса. Аргументы могут вводится с помощью клавиатуры, однако, по возможности, лучше выбирать их из списка, чтобы избежать некорректных значений.
Следует помнить, что действие команды, в которой не указан целевой объект, распространяется на активный объект.
Существует следующий прием быстрого создания макроса, выполняющего действия над конкретным объектом базы данных. Нужно выбрать объект в окне базы данных и переместить его с помощью мыши в ячейку макрокоманды в окне макроса.
Рис. Вид окна макроса
Для этого следует расположить окно базы данных и окно макроса рядом на экране с помощью команды Сверху вниз или Слева направо из меню Окно. Затем выбрать в окне базы данных соответствующую вкладку, выбрать объект и переместить его значок с помощью мыши в ячейку макрокоманды. Например, для того чтобы создать макрос, открывающий форму, следует переместить с помощью мыши значок формы из окна базы данных в ячейку макрокоманды.
При переносе значка макроса в ячейку макрокоманды вводится макрокоманда, запускающая этот макрос, а при переносе значков других объектов (таблиц, запросов, форм, отчетов или модулей) в макрос добавляется макрокоманда, открывающая этот объект.
Запуск макроса
Выполнение макроса может начинаться по команде пользователя, при вызове из другого макроса или процедуры обработки события, а также в ответ на событие в форме, отчете или элементе управления. Например, можно назначить запуск макроса на кнопку в форме, в результате чего макрос будет выполняться при нажатии этой кнопки. Допускается также создание специальной команды меню или кнопки на панели инструментов, запускающей макрос; определение сочетания клавиш, нажатие которых запускает макрос, а также автоматический запуск макроса при открытии базы данных.
Варианты запуска макросов:
– Чтобы запустить макрос из окна конструктора макроса, нужно нажать кнопку
Запуск на панели инструментов.
– Чтобы запустить макрос из окна базы данных, следует выбрать вкладку Макросы, активизироватье имя макроса и нажать кнопку Запускв окне базы данных (можно также выполнить двойной щелчок на имени запускаемого макроса).
– Чтобы запустить макрос из любого режима Microsoft Access, нужно выбрать команду Сервис\ Макрос\ Запуск макроса и указать имя макроса.
Выполнение макроса по шагам
В Access 97 предусмотрена возможность выполнения макроса в пошаговом режиме. Для этого предназначена кнопка По Шагам на панели инструментов «Конструктор макросов».
В этом режиме перед выполнением каждой макрокоманды происходит останов, который сопровождается появлением диалогового окна Пошаговое выполнение макроса.
Кнопка Шаг позволяет выполнить следующую макрокоманду, а кнопка Продолжить – все последующие шаги без остановок, то есть выключить пошаговый режим.
Режим пошагового выполнения позволяет найти логические ошибки, допущенные при записи макроса.
Редактирование макросов
Редактирование макроса осуществляется в режиме его конструктора, для открытия которого нужно в окне базы данных на вкладке Макросы нажать кнопку Конструктор.
Структура окна конструктора макросов напоминает структуру обычной таблицы базы данных. Поэтому стандартные приемы редактирования текста, используемые для удаления, переноса и копирования содержимого ячеек, могут применяться и здесь.
Виды ошибок в макросах
Макрос не всегда функционирует так, как было задумано, Можно выделить две категории ошибок в макросах:
- синтаксические;
- логические.
Чаще всего появление ошибок в макросах обусловлено несоблюдением синтаксических правил. В случае выбора макрокоманд или значений аргументов в предлагаемых списках вероятность возникновения ошибки крайне мала. Совсем по-другому обстоит дело с аргументами, значения которых задаются «вручную». Если в имени объекта допущена ошибка, действие не может быть выполнено. Подобная ситуация возникает и при удалении или переименовании объекта. Если макрос, в котором есть ссылки на такие объекты, не изменен соответствующим образом, при выполнении появится сообщение об ошибке.
Синтаксические ошибки легко распознаются программой Access, которая выдает сообщение о них в окне «Ошибка выполнения макрокоманды». Необходимо при помощи кнопки Прервать в этом окне остановить выполнение макроса и исправить ошибку.
Логические ошибки не могут быть обнаружены программой, их поиск требует участия пользователя. Типичной является логическая ошибка при задании условия, которая может привести к появлению бесконечного цикла. Завершить цикл может только закрытие Access. Поэтому пользователь должен проверить все условия, прежде чем запускать макрокоманду.
В случае появления логических ошибок в макросах возможна даже потеря данных.