Рассмотрим основные приемы создания макроса на примере задачи, требующей последовательного выполнения запросов действия и отображающий результаты их выполнения. В нашем случае макрос будет запускаться из окна базы данных.
Пусть необходимо подсчитать количество студентов в группах и внести эти данные в поле КОЛ таблицы ГРУППА. Подсчет количества студентов реализован запросом Фактическое число студентов. Обновление поля КОЛ на основе полученных в этом запросе данных выполняет запрос Обновление ГРУППА_КОЛ. Поставленная задача решается путем последовательного выполнения таких запросов.
Создадим макрос, который последовательно выполнит эти запросы. Кроме того, включим в макрос макрокоманды, автоматизирующие действия пользователя по управлению объектами на экране при решении задачи и, в частности, действия, обеспечивающие отображение на экране результатов решения задачи в удобном для него виде.
1. Чтобы начать создание макроса в окне базы данных, выберите вкладку Макросы и нажмите кнопку Создать. Откроется окно макроса.
2. Макрокоманды, составляющие макрос, вводятся в столбец ма крокоманда. Для ввода макрокоманды нажмите кнопку раскрытия списка макрокоманд в этом столбце и выберите ОткрытьЗапрос, чтобы выполнить первый запрос.
3. Имя запроса Фактическое число студентов выберите из списка в разделе Аргументы макрокоманды в нижней части окна макроса.
4. В столбец Примечание введите текст, описывающий результат выполнения макрокоманды, например, Создание таблицы с результатами подсчета числа студентов в группе.
5. Для выполнения запроса Обновление ГРУППА_КОЛ введите макрокоманду ОткрытьЗапрос. Порядок размещения макрокоманд в бланке определяет последовательность их выполнения.
|
6. Чтобы включить в макрос эту макрокоманду, воспользуйтесь перетаскиванием объектов с помощью мыши. В окне базы данных выберите запрос Обновление ГРУППА_КОЛ и перетащите его в строку макрокоманды. Сформируется макрокоманда ОткрытьЗапрос, в аргументах которой автоматически появится имя открываемого запроса, режим отображения запроса и режим работы с его данными.
7. Сохраните макрос под именем Расчет числа студентов в группах, воспользовавшись кнопкой панели инструментов макроса Сохранить.
8. Запустите макрос, нажав кнопку панели инструментов Запуск.
9. Во время выполнения макроса на экран выводятся предупреждающие сообщения, выдаваемые выполняющимися запросами. Для временного отключения вывода на экран окон этих сообщений дополните макрос макрокомандой УстановитьСообшения. В строке аргумента Включить сообщения выберите значение Нет (No). Для возобновления вывода сообщений после выполнения запросов надо было бы задать значение Да (Yes). Однако эту макрокоманду можно опустить, поскольку после прекращения работы макроса вывод предупреждений восстанавливается автоматически.
10. Организуйте вывод на экран таблиц ГРУППА и Число студентов; чтобы сделать наглядным процесс работы макроса и обновления таблицы. Для этого дополните макрос так, как показано на рис. 6.7.1.
11. Закройте макрос и запустите его из окна базы данных, воспользовавшись кнопкой Запуск.
12. Ход и результаты выполнения запроса по обновлению поля КОЛ отображаются на экране в виде сообщений и таблиц.
|
13. Создайте в любой форме кнопку запуска макроса с помощью мыши. Для этого в окне базы данных выберите макрос Расчет числа студентов в группах, который необходимо запускать при нажатии кнопки. Перетащите его в форму, открытую в режиме конструктора. В форму будет помещена кнопка, связанная с данным макросом, имеющая подпись, соответствующую имени макроса.
Рис. 6.7.1. Макрос задачи в режиме конструктора
Макрокоманды, используемые в программе, предназначены для выполнения действий, перечисленных ниже.
q Свернуть позволят свернуть окно, которое было активным в момент запуска макроса на выполнение. Если макрос запускается из окна базы данных и кроме этого окна нет открытых окон, на экране будет отображено только свернутое окно базы.
q ОткрытьТаблицу открывает таблицу ГРУППА. Имя таблицы и режим ее открытия указываются аргументами макрокоманды. Открытая таблица ГРУППА будет отображаться на экране до выполнения макрокоманды Закрыть. Это позволит просмотреть содержимое таблицы до и после выполнения запросов.
q СдвигРазмер позволяет задать размер и местоположение окна активного объекта. В результате выполнения макрокоманды после открытия таблицы изменяются параметры окна таблицы.
q Сообщение выдает сообщение, указанное в аргументах макрокоманды.
q Восстановить восстанавливает окно, свернутое перед решением задачи.