Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические работы / Практическая работа №10

.docx
Скачиваний:
28
Добавлен:
09.12.2018
Размер:
239.78 Кб
Скачать

Практическая работа №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, то появляется надпись «Двоечник!».

Вывод: -