Создание запросов. Перекрёстный запрос. Запрос на выборку. Вычисления в запросе (Лабораторная работа № 4), страница 4

Запрос ПланСессия

Запрос предназначен для вычисления даты начала экзаменационной сессии в выбранном полугодии выбранного учебного года. Вычисленное значение будет использовано в качестве значения по умолчанию для поля ДатаКонтроля в таблице Дисциплины. Количество месяцев между началом учебного года и началом экзаменационной сессии указано в поле Месяцы таблицы Полугодия.

На базе таблиц УчебныйГод и Полугодия создайте запрос ПланСессия, содержащий поля: Сессия, КодГода и КодПолугодия. В запросе должен быть отображён только выбранный учебный год ([Forms]![Дисциплины]![КодГода]), выбранное полугодие ([Forms]![Дисциплины]![КодПолугодия]) и вычислена дата начала сессии. Обратите внимание на то, что таблицы, на которых основан запрос, не связаны между собой.

Поле

Таблица

Условие отбора

Сессия: DateAdd("m";[Месяц];[Начало])

КодГода

УчебныйГод

[Forms]![Дисциплины]![КодГода]

КодПолугодия

Полугодия

[Forms]![Дисциплины]![КодПолугодия]

Запрос на Создание таблицы

Приведённые ниже запросы решают следующие задачи:

Ø  определяют последний семестр, в котором читается дисциплина;

Ø  подсчитывают общее количество часов, отведённых на изучение предмета;

Ø  создают промежуточную таблицу ПланДиплом, содержащую результаты вычислений;

Ø  используют промежуточную таблицу ПланДиплом при вычислении среднего балла и формировании списка дисциплин

Необходимость создания таблицы ПланДиплом связана с тем обстоятельством, что вычисление последнего предмета осуществляется в запросах, включающих групповые операции. Такие запросы являются необновляемыми и не могут быть использованы в запросах на обновление. С дугой стороны, результаты необновляемых запросов, могут быть сохранены в промежуточной таблице. Использование такой таблицы может существенно повысить быстродействие базы данных.

Приведённые исполняемые запросы на создание таблицы и обновление целесообразно выполнить при закрытии формы План, т.е. после изменения учебного плана специальности.

Запрос ДипломСеместр

Запрос предназначен для вычисления последнего семестра, в котором читается дисциплина, и общего количества часов, отведённых на её изучение.

На базе таблицы План создайте запрос ДипломСеместр, содержащий поля: КодСпециальности, КодПредмета, Семестр и Всего.

Поле

Групповая операция

КодСпециальности

Группировка

КодПредмета

Группировка

Семестр: Семестр

Max

Всего: Часы

Sum

Запрос ДипломПредметы

Запрос предназначен для вычисления кода плана дисциплины, оценка по которой идёт в диплом.

На базе запроса ДипломСеместр и таблицы План создайте запрос ДипломПредметы, содержащий поля: КодПлана и Всего.

Поле

Таблица

КодПлана

План

Всего

ДипломСеместр

Обратите внимание, что запрос ДипломСеместр и таблица План связаны между собой по значению двух полей: Семестр и КодПредмета.

Запрос ДипломСоздать

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

На базе запроса ДипломПредметы создайте запрос ДипломСоздать, содержащий поля: КодПлана и Всего. При создании запроса в режиме конструктора необходимо выбрать тип запроса – Создание таблицы.Запрос на создание таблицы

Контрольные  вопросы

1.  Создание запроса

2.  Перекрёстный запрос

3.  Запрос на выборку. Условие отбора

4.  Сортировка записей

5.  Запрос на удаление

6.  Запрос на добавление

7.  Запрос на обновление

8.  Запрос: записи без подчинённых