Макрокоманды, составляющие макрос, вводятся в столбец Макрокоманда. Для ввода макрокоманды можно нажать кнопку раскрытия списка макрокоманд в этом столбце и выбрать нужную. Можно ввести имя макрокоманды с клавиатуры. В нижней части окна выводятся аргументы макрокоманды. Значения аргументов задаются путем выбора их из списка, открывающегося в строке аргумента. В поле справа от строк аргументов выводится сообщение с пояснениями для выбранного аргумента.
В строки столбца Примечание вводят необязательный комментарий, описывающий результат выполнения макрокоманды. Каждая новая макрокоманда макроса добавляется в следующей строке бланка. Порядок размещения макрокоманд в бланке определяет последовательность их выполнения.
После ввода всех макрокоманд в макрос его надо сохранить, воспользовавшись командой меню Файл/Сохранить или кнопкой панели инструментов макроса.
Для выполнения макроса можно нажать кнопку панели инструментов Запуск. Если макрос уже закрыт, то для его выполнения надо в окне базы данных выбрать макрос и нажать кнопку Запуск в этом окне. Таким образом, по инициативе пользователя задача может решаться многократно.
Для просмотра и редактирования существующего макроса надо выбрать его в окне базы данных и нажать кнопку Конструктор.
Пример разработки макроса
Пусть необходимо рассчитать количество студентов в группах и внести эти данные в поле КОЛ таблицы ГРУППА. Подсчет количества студентов реализован запросом Число студентов в группе. Обновление поля КОЛ на основе полученных в этом запросе данных выполняет запрос Обновление ГРУППА_КОЛ. Последовательное выполнение этих запросов решает поставленную задачу.
1. Сначала создадим запрос на обновление. Оформим окно конструктора запроса как показано на рисунке:
В схему данных запроса добавлены таблица Группа и таблица Число студентов, полученная после выполнения запроса на создание Число студентов в группе.
2. Преобразуем запрос на выборку в запрос на обновление. Для этого выполним команду меню Запрос/Обновление. В строке Обновление введем имя поля [Count-НС] таблицы Число студентов, из которой выбираются значения для обновления. Сохраним запрос на обновление под именем Обновление ГРУППА_КОЛ.
3. Создадим макрос, состоящий из макрокоманд, показанных в окне конструктора:
В столбце Примечания записаны комментарии к макрокомандам. В зависимости от выбранной макрокоманды меняется нижняя часть окна конструктора — Аргументы макрокоманды. На рисунке активна макрокоманда СдвигРазмера, которая устанавливает положение и размеры окна таблицы Группа, демонстрируемого после ее обновления.
Сохраним макрос под именем Расчет количества студентов в группах. После нажатия кнопки Запуск получим результаты выполнения макроса, показанные на рисунке.
Поверх окна Группа выводится сообщение, в соответствии с последней макрокомандой.
Контрольные вопросы
1. Чем отличаются макросы в Access от макросов в Word и Excel?
2. Как организовать запуск макроса по некоторому событию?
3. В чем сходство и различие между макросами и модулями в Access?
4. Как получить справку о той или иной макрокоманде?
5. Вывод каких сообщений в рассмотренном примере отключает макрокоманда ВыводНаЭкран?