Практические работы / Практическая работа №9
.docx
Практическая работа №9
Создание макроса для решения задачи, использующей запросы.
Цель работы: научиться создавать макрос, формировать макрокоманды, формировать ссылки на объекты, организовать выполнение макроса.
Ход работы
1. Необходимо рассчитать количество студентов в группах и внести эти данные в поле КОЛ в таблице ГРУППА. Подсчет количества студентов реализован запросом Число студентов в группе. Обновление поля КОЛ на основе полученных в этом запросе данных выполняет запрос обновление ГРУППА_КОЛ.
1.1. Создание макроса. Выполнить «Создание» - «Макросы и код» - «Макрос».
1.2. Выполнение первого запроса. В раскрывающемся списке макрокоманд выберем макрокоманду «ОткрытьЗапрос». Выберем имя запроса «Запрос_Группировка_Count» из выпадающего списка «Имя запроса». В столбец примечание введем текст «Подсчет числа студентов в группе».
1.3. Введем следующую макрокоманду «ОткрытьЗапрос». Для включения этой макрокоманды в макрос переместим объект с помощью мыши. В окне базы данных выберем запрос обновление «Запрос_Обновление_Группа» и перетащим его в строку макрокоманды.
1.4. Сохранить и выполнить макрос. Сохраним макрос по «Расчет числа студентов в группах», воспользовавшись кнопкой «Сохранить». Выполним макрос, нажав кнопку «Запуск» панели инструментов.
1.5. Организуем вывод на экран таблицы ГРУППА и Число студентов. Для этого макрос был дописан так как показана ниже:
1.6. Запустим макрос нажав кнопку «Запустить».
1.7. Создайте в любой форме кнопку запуска макроса с помощью мыши.
Для этого выберем форму «Изучение». В режиме конструктора перетащим макрос «Расчет числа студентов в группах» в любое место формы. В форму будет помещена кнопка, связанная с данным макросом. Кнопка будет иметь подпись, соответствующую имени макроса.
2. Макрос синхронной обработки данных двух форм. При просмотре данных о предмете, изучаемом студентами, необходимо отображать информацию обо всех студентах, получивших двойки по этому предмету.
Для этого создадим группы макросов, которая запускается при инициировании пользователем события в одной форме, можно отфильтровать записи в другой форме.
Для решения задачи используем формы ПРЕДМЕТ и двоечники. Так как форма ПРЕДМЕТ уже была создана ранее, то нам необходимо создать форму Двоечники. Эта форма будет создаваться на основе запроса, который выбирает из таблиц УСПЕВАЕМОСТЬ И СТУДЕНТ поля КП (код предмета), ФИО (студента), ОЦЕНКА и в котором для поля ОЦЕНКА, в строке Условие отбора записано значение 2.
Создадим форму Двоечники, воспользовавшись «Создание» - «Формы» - «Форма».
2.1. Создание группы макросов. Создадим макрос «Создание» - «Макросы и код» - «Макрос». Для создания группу макросов, щёлкнем на панели инструментов Конструктор макросов на кнопке Имена макросов. Запишем макрокоманды макросов Ml и М2, как показано ниже.
2.2. Установить связь события «Открытие» формы ПРЕДМЕТ с макросом М1.
Откроем форму ПРЕДМЕТ в режиме конструктора, в свойствах формы на вкладке «События», в свойстве «Открытие» выберем имя макроса Двоечники.M1.
2.3. Установить связь события «Двойное нажатие кнопки» поля КП формы ПРЕДМЕТ с макросом М2.
В свойствах поля КП на вкладке «События», в свойстве «Двойное нажатие кнопки» выберем имя макроса Двоечники.М2.
2.4. Проверить выполнение макроса. Открыть форму ПРЕДМЕТ.
2.5. Установить связь макроса М2 с событием поля КП «Выход».
В свойствах поля КП в событие «Выход» выберем Двоечники.М2.
2.6. Просмотрите последовательность перехода.
Выберем команду «Последовательность перехода» в контекстном меню формы или элемента управления. Переместим поле КП ниже.
2.7. Проверить выполнение макроса. Осуществить переход между записями.
Вывод: -