Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические задания / Prakticheskaya_rabota_10.docx
Скачиваний:
22
Добавлен:
09.12.2018
Размер:
147.25 Кб
Скачать

Организация диалога в макросе

В предыдущем примере при закрытии формы ведомость успеваемости, через которую вводились данные об оценках по сданным студентами предметам, было предусмотрено выполнение макроса для безусловной выдачи на экран отчетов о двоечниках и отличниках. Дополним макрос макрокомандами, которые позволят определить необходимость вывода отчетов в диалоговом режиме.

1.Используйте в качестве диалогового окна вспомогательную форму Диалог. Форму можно создать в режиме конструктора, не указывая источника записей, с единственным элементом - полем со списком значений. На рис. 4 представлена форма диалог, в которой поле со списком имеетимя Поле Со Списком0. В свойствах поля со списком задайте в строке Источник строк (RowSource) имена отчетов, выполнение которых может запросить пользователь, а также предусмотрите отказ от вывода отчетов

2.Измените группу макросов списки успеваемости, как показано на рис. 6. В макросе Отчет вместо макрокоманд вывода отчетов запишите макрокоманду открытия формы диалог.

Замечание

Выделение макрокоманд открытия отчетов в отдельный макрос Отчет! позволяет пользователю организовать работу с формой Диалог.

Рис. 4. Форма, включающая поле со списком значений

Рис. 5. Источники строк поля со списком значений в форме Диалог

  1. В макросе Отчет1 введите макрокоманды вывода отчетов и условия их выполнения.

Текстовые константы, с которыми сравниваются введенные значения, заключаются в кавычки.

Рис. 6. Макрос вывода выбранного пользователем отчета

4. В форме диалог для элемента поле Со Списком0 откройте окно свойств (рис. 7) и выберите в раскрывающемся списке После обновления (AfterUpdate) значение Списки успеваемости. Отчет1.

Рис. 7. Связь событияПосле обновления с макросом

5. Откройте форму Ведомость успеваемости, введите несколько записей о полученных студентами оценках, в том числе двойках и пятерках.

6. Закройте форму и вы перейдете в режим отображения окна формы Диалог.

7. Для проверки работоспособности макроса отчет1 выберите в форме диалог одно из значений. Начнет выполняться макрос отчет1, в котором будет анализироваться введенное значение и, если задано такое условие, будет выведен отчет.

8. Для распечатки отчета в любое время откройте форму Диалог, выберите нужный отчет в списке, и макрос отчет1 выведет выбранный отчет на экран.

9. Для вывода вопросов о необходимости печатать отчеты можно использовать функцию MsgBox. Замените макрокоманды в макросе Отчет1, как показано на рис. 8.

Рис. 8. Использование функции в условии макрокоманды

10. Функция MsgBox () выведет на экран окно, содержащее сообщение, подождет, пока пользователь нажмет кнопку, и возвратит значение, указывающее, на какую кнопку нажал пользователь. Текст сообщения формируется первым аргументом функции, тип окна, число и названия кнопок — вторым аргументом, текст заголовка окна — третьим аргументом. Аргументы, заданные в примере, приводят к выводу окна, представленного на рис. 9

Рис.9.Окно сообщения, выводимое функцией MsgBox

ФункцияMsgBox возвращает значение 1 при нажатии в окне сообщения кнопки ОК и значение 2 при нажатии кнопки Отмена (Cancel).

Соседние файлы в папке Практические задания