2.5. Итоговые запросы и запросы на изменение данных Итоговый запрос – это запрос, в котором выводятся результаты статистических расчетов по какой-либо группе записей из одной или нескольких таблиц. Можно находить сумму (функция Sum), среднее значение (функция Avg), наибольшее значение (функция Max) или наименьшее значение (функция Min), количество знаний в группе (функция Count).
Процедура создания итогового запроса похожа на процедуру создания запроса на выборку. При выполнении такого запроса требуется группировать записи по совпадающим значениям в каком-либо поле таблицы. Для выполнения группировки записей нужно щелкнуть по кнопке Групповые операции на панели инструментов. В бланке запроса по образцу появляется дополнительная строка Групповая операция. В тех полях, по которым проводится группировка, надо установить функцию Группировка. В тех полях, где проводится итоговые операции, нужно в строке Групповая операция раскрыть список и выбрать одну из функций (Sum, Avg, Max, Min, Count и т. д.)
Пример. Таблица содержит данные о должностях и размерах окладов (рис. 40):
Рис. 40. Таблица СОТРУДНИКИ.
Можно создать запрос для определения среднего оклада, наибольшего оклада и наименьшего оклада для каждой должности (рис. 41). В этом случае следует задать группировку по полю Должность и выбрать соответствующие функции в поле Оклад, включив это поле в бланк запроса трижды.
Рис. 41. Создание итогового запроса.
Результатом выполнения запроса будет следующая таблица (рис. 42):
Рис. 42. Результат выполнения итогового запроса.
Запрос на изменение данных – это запрос, который за одну операцию вносит изменения в несколько записей таблицы. Существует четыре типа запросов на изменение данных: на удаление записей, на обновление записей, на добавление записей, на создании таблицы.
Запрос на удаление записей удаляет группу записей из одной или нескольких таблиц. С помощью запроса на удаление можно удалять только всю запись, а не отдельные поля внутри нее.
Создание запроса на удаление записей таблицы
Создать новый запрос, включив в него таблицы, из которых необходимо удалить записи.
В режиме Конструктор нажать на кнопку Тип запроса и выбрать команду Удаление (рис. 43).
Для таблиц, из которых нужно удалить записи, переместить символа « * » из списка полей таблицы в бланк запроса в строку Поле. В строке Удаление появляется при этом текст Из.
Включить в бланк запроса только те поля, для которых устанавливается условие отбора. В строке Удаление в этих полях появляется текст Условие.
Ввести условия отбора в строку Условие отбора для полей, перемещенных в бланк запроса.
Для предварительного просмотра удаляемых записей нажать кнопку Вид на панели инструментов.
Для удаления записей нажать кнопку Запуск на панели инструментов.
Пример. Требуется удалить из таблицы СОТРУДНИКИ все записи о сотрудниках, принятых на работу после 01.01.2000.
При заполнении бланка запроса перетаскиваем символ « * » в строку Поле первого столбца, включаем в бланк также поле Дата назначения. Для поля Дата назначения в строке Условие отбора вводим условие: >01.01.2000 (рис. 43).
В результате выполнения этого запроса из таблицы СОТРУДНИКИ будут удалены те записи таблицы, для которых значение в поле Дата назначения больше 01.01.2000.
Рис. 43. Создание запроса на удаление записей из таблицы.
Запрос на обновление записей вносит общие изменения в группу записей одной или нескольких базовых таблиц базы данных.
Создание запроса на обновление записей таблицы
Создать новый запрос, включив в него таблицы, содержащие записи, которые следует обновить.
В режиме Конструктор нажать кнопку Тип запроса на панели инструментов и выбрать Обновление.
Включить в бланк запроса поля, которые нужно обновить, а также поля, для которых нужно определить условие отбора.
Для полей, которые нужно обновить, в ячейку Обновление ввести выражение или значение, которое должно быть использовано для изменения полей.
Для полей, по которым нужно выполнить отбор обновляемых записей, ввести условия отбора.
Для обновления записей нажать кнопку Запуск на панели инструментов.
Пример. Требуется создать запрос на обновление, после выполнения которого в таблице СОТРУДНИКИ будут увеличены на 20% оклады сотрудников, принятых на работу до 01.01.2000.
При заполнении бланка запроса включаем в него поля Оклад и Дата назначения из таблицы СОТРУДНИКИ.
Для поля Оклад в строке Обновление вводим правило обновления: [Оклад] * 1,2
Для поля Дата назначения в строке Условие отбора вводим условие: < 01.01.2000 (рис. 44).
В результате выполнения этого запроса в таблице СОТРУДНИКИ будут изменены значения в поле Оклад в тех записях таблицы, для которых значение в поле Дата назначения меньше 01.01.2000.
Рис. 44. Создание запроса на обновление записей базовых таблиц.
Запрос на создание таблицы создает новую базовую таблицу (имена базовых таблиц указаны на вкладке Таблицы в окне базы данных) на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен для выполнения следующих действий:
Создание таблицы для экспорта в другую базу данных Microsoft Access. Например, требуется создать таблицу, содержащую несколько полей из таблицы СОТРУДНИКИ, а затем экспортировать эту таблицу в базу данных, используемую отделом кадров.
Создание резервной копии таблицы.
Создание архивной таблицы, содержащей старые записи. Например, можно создать таблицу, сохраняющую все старые заказы, прежде чем удалить их из текущей таблицы.
Создание запроса на создание новой таблицы
Создать новый запрос, включив в него таблицы, содержащие записи, которые следует включить во вновь создаваемую таблицу.
В режиме Конструктор нажать кнопку Тип запроса на панели инструментов и выбрать Создание таблицы. Будет открыто диалоговое окно Создание таблицы.
В поле Имя таблицы ввести имя таблицы, которую необходимо создать.
Выбрать переключатель В текущей базе данных, чтобы поместить таблицу в открытую в данный момент базу данных, или переключатель В другой базе данных и ввести имя базы данных, в которую требуется поместить новую таблицу. Нажать кнопку .
Включить в бланк запроса поля, которые нужно поместить в новую таблицу.
Для полей, по которым нужно выполнить отбор записей, ввести условия отбора.
Для запуска процедуры создания таблицы нажать кнопку Запуск на панели инструментов.
Результат выполнения запроса – новая таблица, имя которой появляется на вкладке Таблицы в окне базы данных.
Пример. Требуется создать запрос на создание новой базовой таблицы АДРЕСА_СОТРУДНИКОВ, которая должна содержать поля Фамилия, Имя, Отчество из таблицы СОТРУДНИКИ и поля Адрес, Телефон из таблицы ЛИЧНЫЕ ДАННЫЕ.
При заполнении бланка запроса включаем в него требуемые поля из таблиц СОТРУДНИКИ и ЛИЧНЫЕ ДАННЫЕ (рис. 45). Нажав кнопку Тип запроса, выбираем Создание таблицы и вводим в диалоговом окне имя новой таблицы АДРЕСА_СОТРУДНИКОВ.
Выполнив запрос, переключаемся на вкладку Таблицы в окне База данных. Можем убедиться в том, что в списке таблиц базы данных появилась новая базовая таблица с именем АДРЕСА_СОТРУДНИКОВ.
Рис. 45. Создание запроса на создание новой базовой таблицы.
|