Запросы, которые изучались нами ранее, называются запросами-выборками. При их сохранении в памяти машины сохраняются только заданные условия поиска. Каждый раз при запуске запроса на выполнение возникает так называемый динамический набор данных. Он не существует реально.
Запрос на изменение - это запрос, который за одну операцию вносит изменения в несколько записей. Существует четыре типа запросов на изменение: на удаление, на обновление, добавление записей, на создание таблицы.
Запрос на удаление используется для автоматического удаления группы записей, удовлетворяющих определенным условиям из одной или нескольких таблиц. Причем можно удалять только всю запись, а не отдельные поля внутри ее.
Операцию удаления записей отменить невозможно, поэтому рекомендуется перед выполнением создать резервную копию таблицы.
Последовательность действий:
1. В режиме конструктора запросов войти в меню «Запрос» и выбрать команду «Удаление». Появится дополнительная строка «Удаление».
2. В строке «Условие отбора» указать, какие записи должны удаляться.
3. Сначала рекомендуется выполнить команду «Запрос»/ «Выполнить», чтобы просмотреть удаляемые записи, а затем «Запрос»/ «Удалить».
Ни рис 4.22 показано окно конструктора, в котором из состава студентов, получающих стипендию, будут исключены те, кто сдал экзамены на два. Обратите внимание, в той версии, которая реализована у нас, стипендии лишаются студенты, получившие двойки по трем экзаменам, если бы условия сдачи на два по английскому языку мы перенесли на одну строку ниже (строка «или»), а двойка по математике была бы записана еще ниже, то это означало бы поиск студентов, получивших двойку хотя бы по одному экзамену.
Запрос на обновление записей. Вносит общие изменения в группу записей, которые отбираются с помощью условий, в одну или несколько таблиц. Запрос этого типа позволяет изменять данные в существующих таблицах.
Допустим, первоначально студентам была назначена стипендия в размере 34 р. (рис. 4.23). Затем стипендию решили увеличить на 50р. Это можно сделать с помощью запроса на обновление. Чтобы создать запрос на обновление, в режиме Конструктора запросов следует выбрать команду меню «Запрос»/ «Обновление». В нижней части бланка появится новая строка «Обновление», в которую следует ввести выражение для расчета (рис. 4.24).
Рис. 4.22. Окно конструктора запроса на удаление
Рис. 4.23. Исходная таблица данных
Рис. 4.24. Окно конструктора запроса на обновление
При запуске запроса на выполнение появится сообщение, которое следует подтвердить. После того, как Вы подтвердите обновление записей, внешний вид экрана не изменится, все изменения происходят только с таблицей. Чтобы просмотреть их, откройте таблицу. Значения величин в поле «Стипендия» должны увеличиться.
Запросы на обновление позволяют внести изменения не только во все записи таблицы, но и в отдельные записи, которые находят по определенным условиям. В этом случае в строке «Условие отбора» вводят условия, определяющие какие записи выбрать для изменения, а в строке «Обновление» указывают, как их следует изменить.
После сдачи экзамена в деканате постановили лишить стипендии всех студентов, которые получили хотя бы одну двойку в сессии. Был составлен запрос и…. Следует обратить внимание на то, что напечатанный 0 в строке «Обновление» означает, что стипендия будет равна 0, но не во всех записях, а в тех, которые удовлетворяют приведенным в соседнем столбце условиям (рис. 4.25).
Рис. 4.25. Окно конструктора запроса на обновление
Условия объединяются словом ИЛИ (или ВТ=2, или Математика=2, или английский язык=2).
Добавим в таблицу новое поле «Общежитие», однако не будем его заполнять вручную, оставив пустым. Определим, кому требуется общежитие, считая, что, если студент проживает в Донецке, общежитие не требуется, а при проживании в других городах – требуется (рис. 4.26).
Запустим запрос на выполнение, щелкнув мышкой по кнопке, а затем откроем таблицу. В целях наглядности скрыты все столбцы, кроме столбца «Фамилия» и «Общежитие» (рис. 4.27).
Как видите, запрос на обновление очень удобен, позволяя автоматически изменять устаревшую информацию на новую, менять содержимое таблиц по определенным условиям.
Рис. 4.26. Окно конструктора запроса на обновление
Рис. 4.27. Результат выполнения запроса на обновление
С помощью запроса на добавление таблицы имеется возможность добавить записи из одной таблицы в конец указанной Вами таблицы или нескольких таблиц. Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц.
Допустим, требуется создать две таблицы на основании уже существующей, но в первую таблицу перенести информацию о студентах, которым требуется общежитие, а во вторую - проживающих в Донецке. Такая операция выполняется с помощью запроса на создание таблицы (рис. 4.28).
Для этого:
~ перенести в запрос те поля, которые должны быть в таблице;
~ указать условия отбора;
~ войти в меню «Запрос» / «Создание таблицы», в появившемся окне ввести имя создаваемой таблицы, в нашем случае она называется «Иногородние»;
~ Запустить запрос на выполнение. Дать согласие на создание новой таблицы;
Таблица появится в списке существующих таблиц .