Запрос на создание таблицы используется для сохранения результата запроса. Этот запрос основан на запросе на выборку, но в отличие от него сохраняет таблицу с результатами запроса. Необходимость в запросе на создание таблицы возникает при построении запроса на обновление полей таблицы с использованием операций группировки данных. В этом случае кроме обновляемой таблицы требуется таблица — источник данных.
Рассмотрим пример запроса на создание новой таблицы, содержащей данные о студентах в группах и их оценки.
Создайте запрос на выборку в режиме Конструктора как показано на рисунке 129, добавив из таблицы Оценки поля ФИО, Оценка 1, Оценка 2, Оценка 3 и Оценка 4, а из таблицы Студенты− поля Номер группы и Адрес.
Рисунок 129 - Создание запроса на создание новой таблицы
Преобразуйте запрос на выборку в запрос на создание таблицы. Для этого в режиме конструктора выберите меню Запрос→Создание таблицы. В окне Создание таблицы введите имя таблицы — Результаты сессии.
|
|
При открытии запроса будут выданы предупреждения о создании таблицы и о количестве добавляемых записей. При последующих открытиях — выдается предупреждение об удалении старой таблицы Результаты сессии(рисунок 130).
Рисунок 130 - Созданная новая таблица Результаты сессии
Запрос на обновление
Для обновления данных в полях базовых таблиц может быть использован Запрос на обновление. Изменения вносятся в группу записей, отбираемых с помощью указанных пользователем условий отбора. Значения для изменений в полях определяются в бланке запроса в строке Обновление.
Первоначально Запрос на обновление создается как Запрос на выборку, а затем в окне конструктора запросов превращается в запрос на обновление с помощью кнопки Обновление на панели инструментов или команды меню Запрос→Обновление. После выполнения этой команды в бланке запроса появляется строка Обновление.
Для отбора обновляемых записей надо включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора. Условия отбора записываются так же, как при создании запроса на выборку.
Для обновляемого поля в строку Обновление надо ввести значение или выражение, определяющее новое значение поля. Выражение можно создать с помощью построителя выражений.
После выполнения команды Запрос→Запуск или нажатия соответствующей кнопки открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления.
Заметим, если в схеме данных установлен параметр Обеспечение целостности данных и Каскадное обновление связанных полей, то при обновлении ключевых полей результат зависит от взаимосвязей обновляемой таблицы с другими таблицами.
|
|
Например, разработайте запрос на уменьшение количества студентов на 3 человека в группе 05 ААХ, по причине их отчисления по результатам сессии.
Для этого создайте запрос на выборку в режиме Конструктора, добавив из таблицы Группа все поля. Измените тип запроса: в меню Запрос выберите Обновление. В строке Условие отбора для поля НГ введите 05 ААХ, в строке Обновление для поля КОЛ введите: [КОЛ]-3, как показано на рисунке 131.
Рисунок 131 - Создание запроса на обновление
Запустите запрос на выполнение (меню Запрос→Запуск), а затем просмотрите таблицу Группа, в которой количество студентов в группе 05 ААХ изменилось с 33 до 30.
Запрос с параметром
Постройте запрос о студентах заданной группы 05 СС, причем номер группы должен запрашиваться в процессе выполнения запроса. Такой запрос называется запросом с параметром.
Для этого создадим запрос на выборку в режиме конструктора, добавив из таблицы Результаты сессии все поля. Параметром является «Номер группы». Значение параметра вводится в диалоговом окне. Для этого создайте запрос на выборку в режиме Конструктора, добавив из таблицы Результаты сессии все поля. Для создания запроса с параметром необходимо ввести в ячейку с условием текст условия отбора в квадратных скобках. В данном случае в строке Условие отбора для поля Номер группы введите фразу: [Введите номер группы], как показано на рисунке 132.
Рисунок 132 - Создание запроса с параметром
Запустите запрос на выполнение (меню Запрос → Запуск), при этом появится диалоговое окно с приглашением ввести значение параметра (рисунок 133).
Рисунок 133. Диалоговое окно при запуске запроса с параметром
После ввода номера группы, просмотрите результат выборки (рисунок 134).
Рисунок 134 - Результат запроса с параметром.