Рассмотрим подготовку запроса, обеспечивающего выборку информации, необходимой для формирования бланка экзаменационной ведомости.
1. Определим таблицы базы данных и их поля для вывода в отчет реквизитов.
· Для вывода в шапку бланка экзаменационной ведомости значений реквизитов Вид сдачи, Группа необходимы данные из полей ВИДЗ, НГ таблицы ИЗУЧЕНИЕ.
· Для вывода значений реквизитов с общей надписью Преподаватель(фамилия, ученое звание) необходимы данные из полей ФИО, ЗВ таблицы ПРЕПОДАВАТЕЛЬ.
· Для вывода реквизита Название предмета необходимы данные из поля НП таблицы ПРЕДМЕТ.
· Для вывода в табличную часть бланка экзаменационной ведомости значений реквизитов N п/п, Фамилия И.О. необходимы данные из полей НС, ФИО таблица СТУДЕНТ.
Таким образом, запрос для выборки этих взаимосвязанных данных должен быть построен на основе таблиц ИЗУЧЕНИЕ, ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ, СТУДЕНТ.
2. Создадим запрос на выборку (рис.8.8.) и включим в схему данных запроса выявленные таблицы.
3. Если связь между таблицами СТУДЕНТ и ИЗУЧЕНИЕ по полю НГавтоматически не создалась, то создайте ее сами.
4. В бланк запроса включим необходимые для отчета поля из таблиц, представленных в схеме данных запроса.
5. В строке бланка запроса Условие отбора определим параметр запроса [Номер группы] и [Наименование предмета] для диалогового ввода их значений при выполнении запроса. Это позволяет получить данных для конкретной ведомости.
6. Для ввода в отчете значений реквизита Вид сдачи – Экзаменили Зачет, которых нет непосредственно в таблицах БД, предусмотрим вычисляемое поле, в которых будут формироваться название значений соответственно двум возможным значениям поля ВИДЗ – лек. и пр. таблицы ИЗУЧЕНИЕ.
7. Запишем в вычисляемое поле выражение, в котором сформируем встроенную функцию управления:
В соответствии с форматом этой функции, если выполнится условие [ВИДЗ]=”лек.” (т.е. в поле ВИДЗ находится значение лек), то результатом функци будет – экзамен. В противном случае, т.е. при [ВИДЗ]=”пр.”, результатом функции будет – зачет.