Создание макроса для решения задачи, использующей запросы

¨ Пусть необходимо рассчитать количество студентов в группах и внести эти данные в поле КОЛ в таблице ГРУППА. Подсчет количества студентов реализован запросом Число студентов в группе. Обновление поля КОЛ на основе полученных в этом запросе данных выполняет запрос Обновление ГРУППА_КОЛ. Последовательное выполнение этих запросов решает поставленную задачу.

Создадим макрос, который последовательно выполнит эти запросы. Кроме того, включим в него макрокоманды, автоматизирующие действия пользователя по управлению объектами на экране при решении задачи и, в частности, действия, обеспечивающие отображение результатов решения задачи на экране в удобном для пользователя виде.

Для создания макроса необходимо открыть вкладку Создание и выбрать кнопку Макрос, после чего появится окно макроса в режиме Конструктор.

 

 

Для выполнения поставленной задачи последовательно выполним следующие действия.

 

Ø Выберем из общего списка макрокоманд команду СвернутьОкно.

 

 

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

После выбора данной макрокоманды макрос будет иметь вид:

 

Ø Далее по такому же принципу выберем макрокоманду ОткрытьТаблицу.

Данная макрокоманда открывает нужную нам таблицу. Имя таблицы и режим ее открытия указываются аргументами макрокоманды. Открытая таблица будет отображаться на экране до выполнения команды ее закрытия. Это позволит посмотреть содержимое таблицы до и после выполнения запросов.

 

В поле Имя таблицы выберем таблицу ГРУППА. Остальные поля данной макрокоманды остаются неизменными.

После выполнения данного пункта макрос будет иметь вид:

 

Ø Далее введем макрокоманду УстановитьСообщения, которая позволит убрать служебные сообщения, нужные при отладке макроса, но уже ненужные в отлаженной БД, а только замедляющие ее работу и отвлекающие пользователя.

Данная макрокоманда предназначена для включения и выключения системных сообщений.

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

 

 

 После выполнения этих действий в общий список макрокоманд будут добавлены дополнительные команды. Из обновленного списка выберем макрокоманду УстановитьСообщения. В поле Включить сообщения выберем вариант Нет. (ВНИМАНИЕ! На этапе отладки макроса выберите вариант Да, после отладки переключите на Нет).

Ø Далее из общего списка макрокоманд введем команду ОткрытьЗапрос.

Данная макрокоманда выполняет выбранный нами запрос.

В поле Имя запроса выберем запрос Число студентов в группе. Остальные поля остаются неизменными.

 

 

Ø Введем макрокоманду ОткрытьТаблицу.

В поле Имя таблицы выберем таблицу Число студентов. Остальные поля данной макрокоманды остаются неизменными.

 

 

Ø Введем макрокоманду ОткрытьЗапрос.

В поле Имя запроса выберем запрос Обновление ГРУППА_КОЛ. Остальные поля остаются неизменными.

 

 

Ø Введем макрокоманду ЗакрытьОкно.

Данная макрокоманда выполняет закрытие окна выбранного объекта.

 

В поле Тип объекта выберем вариант Таблица. В поле Имя объекта выберем таблицу ГРУППА. Данные поля Сохранение оставим неизменными.

 

 

 

Ø Введем макрокоманду ЗакрытьОкно.

В поле Тип объекта выберем вариант Таблица. В поле Имя объекта выберем таблицу Число студентов. Данные поля Сохранение оставим неизменными.

Ø Последней выберем макрокоманду ВосстановитьОкно.

Данная макрокоманда восстанавливает окно, свернутое перед решением задачи.

 

 

 

После выпосления всех пунктов макрос со свернутыми макрокомандами должен иметь вид:

 

Допускается создание макроса до создания связанных с ним объектов. На­пример, при создании макроса не запрещается ввод в качестве аргументов имен несуществующих объектов. Можно в аргументе <имя таблицы> макрокоманды "ОткрытьТаблицу" указать имя несущест­вующей таблицы. Однако к моменту выполнения макрокоманды эта таблица должна быть создана в базе данных. В рассматриваемом примере таблица ЧИСЛО СТУДЕНТОВ создается запросом только в ходе выполнения макро­са. Однако ее имя используется при создании макроса.

Когда будут введены все макрокоманды, сохраним макрос под именем "Расчет числа студентов в группах", воспользовавшись кнопкой панели инструментов мак­роса Сохранить. Для выполнения макроса надо нажать кнопку панели инструментов Запуск.

После отладки необходимо данный макрос связать с формой Группа, имеющей списки студентов. Это необходимо, чтобы макрос автоматически подсчитывал число студентов при каждом открытии этой формы. Для этого откройте форму в режиме Конструктора и откройте свойства формы, щелкнув по кнопке меню Страница свойств (или по «квадратику» в левом верхнем углу формы). В Окне свойств выберите вкладку События. Выберите в списке опцию Открытие. Откройте список в этой строке и выберите там данный макрос Расчет числа студентов в группах. Проверьте работу макроса, меняя реальное число студентов в группах, например, добавляя студентов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: