Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Конструирование запроса на создание таблицы




Конструирование запроса на создание таблицы

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

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

Сформируем запрос на создание таблицы на примере ранее полученного за- проса на выборку с групповыми вычислениями Число студентов в группах (см. рис. 7. 11-7. 13).

В области навигации вызовем названный запрос в режиме конструктора за- просов. Преобразуем этот запрос в запрос на создание таблицы, выбрав тип запроса на панели конструктора Создание таблицы. В окне Создание табли- цы введем имя создаваемой таблицы " Число студентов" (рис. 7. 18).

 

 

Рис. 7. 18. Определение имени таблицы, создаваемой в запросе

 

Для того, чтобы просмотреть, какие записи будут помещены в новую таблицу, щелкните по кнопке панели инструментов Выполнить. Выполните запрос, чтобы таблица ЧИСЛО СТУДЕНТОВ была сохранена в базе данных. Теперь эту таблицу можно увидеть в списке таблиц окна БД.

 

Упражнение 1. Преобразуйте запрос на выборку Средний проходной балл группы (см. рис. 7. 14, 7. 45) в запрос на создание таблицы, а создаваемую таб- лицу назовите “СРБАЛЛ”.

Конструирование запроса на обновление

Обновление полей значениями, рассчитанными с использованием групповых операций

Рассмотрим технологию создания запроса на обновление на примере обнов- ления поля КОЛ (количество студентов группы в таблице ГРУППА).

Количество студентов в группах ранее было подсчитано в запросе на выборку Число студентов в группах (см. рис. 7. 11-7. 13) с использованием статистиче- ской функции Count. Запрос на обновление непосредственно на таком запросе построить нельзя. Поэтому используем для обновления не сам запрос, а таб- лицу ЧИСЛО СТУДЕНТОВ, полученную по запросу на создание таблицы в предыдущем пункте.

 

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

Рис. 7. 19. Запрос на обновление таблицы ГРУППА

 

Заполним бланк запроса. Перетащим обновляемое поле КОЛ из списка табли- цы ГРУППА. В строке Обновление введем имя поля " Count_HC" (таблицы ЧИСЛО СТУДЕНТОВ), из которого выбираются значения для обновления. Имя поля вводится в квадратных скобках.

Запрос можно выполнить, не выходя из режима конструктора. Содержимое обновляемого поля КОЛ можно просмотреть в режиме таблицы до и после


выполнения запроса. Для последующего использования подготовленного за- проса сохраним его под именем " Обновление ГРУППА_КОЛ".

 

Упражнение 2

1. Произведите обновление поля ПБАЛЛ – средний проходной балл в таблице ГРУППА значениями из ранее созданной таблицы СРБАЛЛ.

2. Произведите обновление поля СРБАЛЛ-ГР – средняя оценка в группе по предмету в таблице ИЗУЧЕНИЕ. Для выполнения задания:

· создайте запрос к таблице УСПЕВАЕМОСТЬ для расчета средней оценки в группе по предмету и сохраните результат в таблице, для чего группировку произведите по двум полям: НГ – номер группы и КП – код предмета:

· обновите поле СРБАЛЛ-ГР в таблице ИЗУЧЕНИЕ, используя со- храненный результат.

Использование выражений в запросе на обновление

Рассмотрим формирование запроса на обновление с использованием выраже- ния на примере заполнения поля ЧАСЫ для лекционных занятий в таблице ИЗУЧЕНИЕ. Пусть поле ЧАСЫ должно обновляться данными, вычисляемы- ми на основе полей ЛЕК (часы лекций) и ЧС (число семестров) из таблицы ПРЕДМЕТ. Расчетное число часов по лекциям определим по формуле ЛЕК/ЧС.

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

Создадим сначала запрос на выборку на основе таблиц ИЗУЧЕНИЕ и ПРЕД- МЕТ. Затем преобразуем его в запрос на обновление, нажав соответствующую кнопку панели инструментов.

Включим в бланк запроса обновляемое поле ЧАСЫ таблицы ИЗУЧЕНИЕ. В строке Обновление для этого поля введем выражение [ЛЕК]/[ЧС]. Для отбора в таблице ИЗУЧЕНИЕ обновляемых записей о лекционных занятиях в бланк запроса включим поле ВИДЗ и укажем в поле Условия отбора значение " лек".

Окончательно сформированный запрос показан на рис. 7. 20.

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

 

Чтобы видеть результаты обновления в таблице ИЗУЧЕНИЕ, откройте ее од- новременно с запросом.

Рис. 7. 20. Запрос на обновление поля значениями, вычисляемыми по данным из другой таблицы

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...