Рассмотрим технологию создания запроса на обновление на примере обновления поля КОЛ (количество студентов группы в таблице ГРУППА).
Количество студентов в группах ранее было подсчитано в запросе на выборку Число студентов в группах с использованием статистической функции Count. Запрос на обновление непосредственно на таком запросе построить нельзя. Поэтому используем для обновления не сам запрос, а таблицу ЧИСЛО СТУДЕНТОВ, полученную по запросу на создание таблицы в предыдущем пункте.
Для формирования запроса на обновление сначала создадим запрос на выборку на основе двух таблиц: обновляемой таблицы ГРУППА и таблицы ЧИСЛО СТУДЕНТОВ, содержащей данные для обновления. Заметим, что в подсхеме данных запроса автоматически устанавливается связь этих таблиц по полю с именем НГ. Для преобразования запроса на выборку в запрос на обновление выберем на панели конструктора тип запроса Обновление (Update Query).
Рисунок 28
Заполним бланк запроса. Перетащим обновляемое поле КОЛ из списка таблицы ГРУППА. В строке Обновление (Update To) введем имя поля "Count_HC" (таблицы ЧИСЛО СТУДЕНТОВ), из которого выбираются значения для обновления. Имя поля вводится в квадратных скобках.
Запрос можно выполнить, не выходя из режима конструктора. Содержимое обновляемого поля КОЛ можно просмотреть в режиме таблицы до и после выполнения запроса. Для последующего использования подготовленного запроса сохраним его под именем "Обновление ГРУППА_КОЛ".
Упражнение
1. Произведите обновление поля ПБАЛЛ — средний проходной балл в таблице ГРУППА значениями из ранее созданной таблицы СРБАЛЛ.
2. Произведите обновление поля СРБАЛЛ-ГР - средняя оценка в группе по предмету в таблице ИЗУЧЕНИЕ. Для выполнения задания:
• создайте запрос к таблице УСПЕВАЕМОСТЬ для расчета средней оценки в группе по предмету и сохраните результат в таблице, для чего группировку произведите по двум полям: НГ - номер группы и КП - код предмета;
• обновите поле СРБАЛЛ-ГР в таблице ИЗУЧЕНИЕ, используя сохраненный результат.