Цель изучения темы: освоить правила подготовки группы запросов на изменения в исходных записях таблиц, которые были сформированы на этапе создания базы данных.
9.1. Запрос на создание таблицЗапрос на создание таблиц создаёт новую таблицу на основе всех или части данных из одной или нескольких существующих таблиц и запросов. Этот тип запроса полезен при формировании таблицы для экспорта в другие базы данных или для создания архива. Предположим, в отделе кадров необходимо создать архив данных на определённый момент времени (учтите, что смысл ведения базы данных – всё время пополнять её новыми данными, записями или вносить изменения в существующие значения данных, поэтому время от времени создают промежуточные архивы). Формировать запрос по созданию таблицы можно как в режиме Мастера, так и в режиме Конструктора (он более предпочтителен, так как позволяет вводить условия отбора записей). Нас интересуют данные по состоянию на сегодняшний день, которые включают фамилии всех сотрудников, занимающие должности менеджеров и старших инженеров, проработавшие в организации не менее трёх лет. Очевидно, для формирования запроса, понадобятся таблицы «Личные сведения» и «Надбавка за стаж».

Рис. 103. Новая таблица, созданная в режиме Конструктор
или в поле конструктора с таблицами кликнуть правой клавишей мыши, выбрать из
меню
,
а затем
.
Ввести имя новой таблицы, например, «Архивные данные» (Рис. 104), указать
место расположения таблицы
,
в противном случае необходимо найти имя файла в другой базе данных.
.
Рис. 104. Создание имени новой таблицы в текущей базе данных

Рис. 105. Окно с предупреждением при обращении к запросу

Рис. 106. Сообщение системы о создании архивной таблицы
В окне переходов базы данных появилась новая таблица: , откройте её, результаты показаны на рисунке 107.

Рис. 107. Сведения, скопированные в архивную таблицу
9.2. Обновление записейЗапрос на обновление вносит общие изменения в группу записей одной или нескольких существующих таблицах. Конечно, можно всё сделать вручную, для этого придётся открыть исходную таблицу, внести изменение в соответствующую запись, а затем проверить, как это изменение отразилось на связанных таблицах и в запросах. С помощью запроса на обновление записей все действия автоматизируются. Предположим, руководство организации решило изменить на 5 процентов надбавки за стаж определённой категории должностей, необходимо провести пересчёт во всех таблицах и запросах.
или найдите её через контекстно-всплывающее меню, когда щёлкните правой
кнопкой мыши в окне таблицы. Появится новая строка в бланке запроса с
наименованием «Обновление» (Рис. 108). Заполните бланк запроса, в столбец
«Надбавка» для строки «Обновление» введите формулу, которая обозначает, что
указанная величина надбавки умножается на заданный коэффициент. В поле «Стаж
работы сотрудника» введите предписание для открытия диалогового окна, как
показано на рисунке 108. Закройте запрос, при его сохранении введите,
например, «Изменение надбавки».
Рис. 108. Заполненный бланк запроса на обновление записей
,
запустите его на исполнение, система даст сообщение (Рис. 109), нажмите на
кнопку «Да».
Рис. 109. Предупреждение системы о запуске запроса на обновление
В
появившееся диалоговое окно введите диапазон изменения записи (Рис. 110),
нажмите кнопку
,
после чего система сформирует сообщение о внесении обновления (Рис. 111).

Рис. 110. Диалоговое окно для ввода параметра в таблице «Надбавка за стаж»

Рис. 111. Сообщение системы о проведённом обновлении
Теперь можете проверить результаты работы запроса на обновление, для этого последовательно откройте таблицы и запросы, в которых фигурировали данные с указанием величины надбавки за стаж. Следует отметить, что обновление записей удобно ещё и тем, что замена (изменение) записи осуществляется в режиме диалога пользователя с базой данных.
9.3. Удаление записейЗапрос на удаление позволяет удалить группу записей на основании указанных критериев из одной или нескольких таблиц. При этом удаляется вся запись, а не отдельные поля внутри неё. Такого рода действия очень часто необходимо проводить пользователю базы данных без участия её администратора, поэтому критерии удаления можно либо жёстко задавать в запросе, либо вводить с помощью диалогового окна. Предположим, что в организации уволился сотрудник, отдел кадров должен удалить записи об этом сотруднике из архива.
,
а затем
.
Бланк запроса получит новую строку «Удаление».

Рис. 112. Подготовка запроса на удаление записей
.
Запустите этот запрос, система сформирует сообщение (Рис. 113). После того,
как будет нажата кнопка
,
появится диалоговое окно для ввода параметра удаления записи из таблицы
«Архивная» (Рис. 114). Нажмите на кнопку
,
прочитайте предупреждение системы о действии операции удаления (Рис. 115),
нажмите на кнопку
.
Рис. 113. Сообщение системы о запуске запроса на удаление

Рис. 114. Диалоговое окно для ввода параметра удаления

Рис. 115. Повторное предупреждение системы о действии операции удаления
Можете
проверить, как прошло удаление фамилии, а затем повторить выполнение запроса.
Необходимо отметить, что можно было ввести несколько полей в бланк запроса на
удаление, применить другие параметры удаления, например, логические операции,
которые целесообразно использовать при удалении нескольких записей (например,
должности). В том случае, если создать запрос на удаление для таблицы, которая
имеет связи с другими таблицами и запросами, то удаление записей будет проведено
каскадом, вот, для чего при установлении связей между таблицами используют
пометку в строке
(окно «Изменение связей»). Поэтому, если при создании схемы данных такая пометка
не была поставлена, то её всегда можно дополнить при создании запроса. Для
выполнения этой операции откройте окно «Схема данных» на вкладке «Работа с
базами данных», щёлкните правой кнопкой мыши по связи между таблицами, выберите
строку -
,а
затем выполните необходимые правки в окне «Изменение связей».