Практические работы / Практическая работа №10
.docxПрактическая работа №10
Создание макроса, обеспечивающего переход от диалоговой работы с базой данных к выводу отчетов
Цель работы: научиться создавать макросы и группы макросов, формировать макрокоманды и ссылки на объекты, реализовать алгоритм с помощью условий и ветвлений в макросе, организовать выполнение макроса.
Ход работы
1. Задание: необходимо в сеансе ввода данных об успеваемости подготавливать и выводить отчеты о полученных студентами двойках и пятерках.
1.1. Для накопления данных создадим таблицы ДВОЕЧНИК и ОТЛИЧНИК, которые включают поля НГ (номер группы), НС (номер студента в группе), КП (код предмета) и ФИО студента. Таблицы имеют составной ключ НГ + НС + КП.
Создадим таблицу с помощью команды «Создание» - «Конструктор таблиц». Свойства полей для таблиц ДВОЕЧНИК И ОТЛИЧНИК одинаковы:
Поле |
Размер поля |
Подпись поля |
Ключевое поле |
Обязательное поле |
НГ |
3 |
Номер группы |
Да |
Да |
НС |
2 |
Номер студента в группе |
Да |
Да |
КП |
2 |
Код предмета |
Да |
Да |
ФИО |
15 |
ФИО студента |
Нет |
Да |
Для решения задачи создадим группу макросов «Списки успеваемости», включающую макросы:
-
«Начало» – макрос открывающий формы ДВОЕЧНИК и ОТЛИЧНИК, а также очищать таблицы перед формированием новых отчетов.
-
«Формирование» – макрос, заполняющий таблицы ДВОЕЧНИК и ОТЛИЧНИК через соответствующие однозаписевые формы.
-
«Отчет» – макрос, распечатывающий отчеты ДВОЕЧНИК и ОТЛИЧНИК по завершении ввода данных об успеваемости.
1.2. Создадим первый вложенный макрос «Начало». Для этого введем следующие макрокоманды:
Для выполнения макроса в момент, открытия формы ВЕДОМОСТЬ УСПЕВАЕМОСТИ, в свойства формы в строку события «Открытие» введём «Списки успеваемости.Начало».
1.3. Создадим второй вложенный макрос «Формирование». Для формирования новой записи в таблице «Двоечник» введём следующие макрокоманды:
1.4. Для формирования новой записи в таблице «Отличник» введём следующие макрокоманды:
1.5. Свяжем данный макрос со свойством события поля ОЦЕНКА «После обновления», введя в строку свойства имя макроса «Списки успеваемости.Формирование».
1.6. Создадим третий вложенный макрос «Отчеты». Для этого введем следующие макрокоманды:
1.7. Введем в свойствах формы ВЕДОМОСТЬ УСПЕВАЕМОСТИ в строке события «Закрытие» имя этого макроса «Списки успеваемости.Отчеты».
2. Организация диалога в макросе. Дополним макрос «Списки успеваемости» макрокомандами, которые позволят определить необходимость вывода отчетов в диалоговом режиме.
2.1. Создадим форму «Диалог», которая будет выступать в качестве диалогового окна. Расположим элементы так как показано ниже:
2.2. Изменим вложенный макросе «Отчет». Вместо макрокоманды «ОткрытьОтчет» запишем макрокоманду «ОткрытьФорму», в поле «Имя формы» укажем «Диалог»:
2.3. Создадим вложенный макрос «Отчет1». Для этого введем следующий макрокоманды:
2.4. Свяжем данный макрос со свойством события поля «Комбинированная3» «После обновления», введя в строку свойства имя макроса «Списки успеваемости.Отчет1».
2.5. Для вывода вопросов о необходимости печатать отчеты используем функцию MsgBox. Заменим макрокоманды во вложенном макросе Отчет1:
Вид диалогового окна функции MsgBox после выбора значения «Двоечники» на форме «Диалог».
3. Задание: пусть в форме «Ведомость успеваемости» при просмотре данных об оценках, полученных студентами, если в поле ОЦЕНКА обнаружено значение «2», то должен появляться текст «Двоечник!».
3.1. Создадим в примечании подчиненной формы элемент управления «Надпись» со значением «Двоечник!».
3.2. Свойству надписи «Вывод на экран» присвоим значение «Нет».
3.3. Создадим вложенный макрос, в котором свойству «Вывод на экран» будет присваиваться значение «Да» при просмотре записи с двойкой. Дадим данному макросу имя «Сигнал». Для этого введем в него следующие макрокоманды:
3.4. Для того чтобы при переходе к записи с другой оценкой надпись «Двоечник!» делалась невидимой, введем следующие макрокоманды:
3.5. Для связи макроса с подчиненной формой «УСПЕВАЕМОСТЬ подчиненная форма» в окне ее свойств на вкладке «События» в раскрывающемся списке «Текущая запись» выберите имя макроса «Списки успеваемости.Сигнал».
3.6. Просматривая записи, убедимся, что если в поле ОЦЕНКА стоит 2, то появляется надпись «Двоечник!».
Вывод: -