Создание запроса для подготовки данных в отчет

Определение схемы данных запроса

Для вывода в отчет реквизитов, указанных в проекте отчета, нужно определить таблицы-источники данных и их взаимосвязи.

Таблицы-источники данных. Для вывода в шапку бланка экзаменационной ведомости значений реквизитов Вид сдачи, Группа необходимы данные из полей ВИДЗ, НГ таблицы ИЗУЧЕНИЕ. Для вывода значений реквизитов с общей надписью Преподаватель (фамилия, ученое звание) необходимы дан­ные из полей ФИО, 3В таблицы ПРЕПОДАВАТЕЛЬ. Для вывода реквизита Название предмета необходимы данные из поля НП таблицы ПРЕДМЕТ.

Для вывода в табличную часть бланка экзаменационной ведомости значений реквизитов N п/п, Фамилия И.О. необходимы данные из полей НС, ФИО таблицы СТУДЕНТ.

Таким образом, запрос для выборки этих взаимосвязанных данных должен быть построен на основе таблиц ИЗУЧЕНИЕ, ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ, СТУДЕНТ.

Связи между таблицами запроса. При создании запроса связи между таблицами установятся автоматически. Связи таблиц ИЗУЧЕНИЕ, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ определяются в соответствии со схемой данных БД.

При создании запроса между таблицами СТУДЕНТ и ИЗУЧЕНИЕ автоматически установится также связь по одноименному полю НГ (номер группы). Эта связь является связью-объединением, которой нет в схеме данных базы. Заметим, что эти таблицы находятся в отношениях многие-ко-многим, поскольку один студент изучает много предметов, и один предмет изучается многими студентами. Связь, установленная между таблицами СТУДЕНТ и ИЗУЧЕНИЕ, определяет операцию симметричного объединения. При этом записи из этих таблиц объединяются и добавляются в результат только в том случае, если связанные поля содержат одинаковые значения.

Конструирование запроса для подготовки макета отчета

В строке бланка запроса Условие отбора определим параметры запроса [Номер группы] и [Наименование предмета] для диалогового ввода их значений при выполнении запроса. Это позволяет получить данные для конкретной ведомости.

Рисунок 21

 

В отчете необходимо выводить значения реквизита Вид сдачи: Экзамен, Зачет, которых нет непосредственно в таблицах БД, но они могут быть получены на основе.значений поля ВИДЗ таблицы ИЗУЧЕНИЕ. Два значения реквизита Вид сдачи: "Экзамен" и "Зачет" соответствуют двум возможным значениям поля ВИДЗ: "лек" и "пр". Фактически нужно вместо значения "лек" формировать слово "Экзамен", а вместо "пр" — слово "Зачет". Для этого надо в запрос ввести новое поле, которое формируется как вычисляе­мое. Это поле должно содержать встроенную функцию управления

Выражение1: Iif ([ВИДЗ] = ""лек""; ""Экзамен"";""Зачет"")

Именем этого вычисляемого поля по умолчанию является "Выражение1:".

Функция Iif (“immediate if” — мгновенное условие) аналогична инструкции

If... Then... Else и имеет следующий формат:

Iif (условие; еслиИстина; еслиЛожь)

В соответствии с форматом этой функции, если выполнится условие [видз] = ""лек"" (т. е. в поле ВИДЗ находится значение "лек"), то результатом функции будет "Экзамен". В противном случае, т. е. если [видз] = ""пр"", результатом функции будет слово "Зачет".

На рис. 21 приведен в окончательном виде запрос для подготовки данных отчета-бланка экзаменационной ведомости. Этот запрос сохранен под име­нем "Ведомость".


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: