Создание
запросов на доьавление данных
Поэтому сначала
создается запрос на выборку данных, в результат которого включаются те поля,
которые должны составлять добавляемые записи, а также поля, в которых устанавливаются
критерии отбора записей.
В качестве
примера мы рассмотрим запрос, который будет выбирать из базы данных все заказы
за 1996 год и переносить их в другую таблицу так, чтобы таблица "Заказы"
(Orders) содержала только актуальные данные. Для этого сначала создадим таблицу,
которая будет хранить устаревшие данные:
-
Раскройте список таблиц
в окне базы данных и выделите таблицу "Заказы" (Orders).
-
Скопируйте таблицу
в буфер обмена, нажав комбинацию клавиш <Ctrl>+<C>.
-
Вставьте таблицу из
буфера обмена, нажав комбинацию клавиш <Ctrl>+<V>. Появляется
диалоговое окно
Вставка таблицы
(Paste Table As).
-
В группе
Параметры
вставки
(Paste Options) выберите переключатель
Только структура
(Structure
Only).
-
В поле
имя таблицы
(Table Name) введите строку: Заказы (архив). Нажмите кнопку
ОК
или
клавишу <Enter>.
В списке появляется
новая таблица, пока пустая, т. к. мы скопировали только структуру таблицы "Заказы"
(Orders). Теперь создадим запрос на добавление, который позволит перенести в
новую таблицу данные из таблицы "Заказы".
-
Раскройте список таблиц
в окне базы данных и выделите в нем таблицу "Заказы".
-
Щелкните левой кнопкой
мыши по стрелке на кнопке
Новый объект
(New Object) инструментальной
панели и выберите из раскрывшегося списка элемент Запрос (Query). В диалоговом
окне Новый запрос (New Query) выберите значение
Конструктор
(Design
View). Появляется окно Конструктора запроса с таблицей "Заказы"
в верхней части.
-
Сначала создайте запрос
на выборку нужных записей. Перетащите из списка полей таблицы "Заказы"
все поля в строку бланка запроса
Поле
(Field).
-
В строке
Условие
отбора
(Criteria) столбца "ДатаРазмещения" введите выражение
Between 101.01.961 And 131.12.961
-
Запустите запрос на
выборку, чтобы проверить, правильно ли отобраны записи. Оказались отобранными
152 записи.
-
Выберите команду
Запрос,
Добавление
(Query, Append) или щелкните левой кнопкой мыши по стрелке
на кнопке
Тип запроса
(Query Type) и выберите из списка элемент
Добавление
(Append Query). Появляется диалоговое окно
Добавление
(Append),
аналогичное диалоговому окну
Создание таблицы
(Make Table) (рис. 8.6).
-
В поле
имя таблицы
(Table Name) необходимо выбрать из списка имя таблицы, в которую будут
добавляться записи. В данном случае по умолчанию в нем указана таблица "Заказы
(архив)", которую мы только что создали. Нажмите кнопку
ОК.
(Если
бы таблица, в которую нужно добавить записи, находилась в другой базе данных,
необходимо было бы выбрать переключатель
в другой базе данных
(Another
Database) и затем в поле
имя файла
(File Name) указать имя файла MDB,
который содержит требуемую таблицу.)
Рис. 8.6.
Диалоговое окно
Добавление
-
В бланке запроса на
добавление появляется дополнительная строка
Добавление
(Append To),
содержащая названия полей таблицы, в которую добавляются записи (рис. 8.7).
В данном случае названия полей запроса и названия полей таблицы совпадают,
поэтому по умолчанию вся эта строка заполнена. Если имена полей не совпадают,
необходимо выбрать из раскрывающегося списка в строке
Добавление
(Append
To) имя поля результирующей таблицы, соответствующего полю в исходной таблице.
-
Нажмите кнопку
Запуск
(Run), чтобы выполнить запрос. Прежде чем новые записи будут добавлены
в таблицу, Access выдает сообщение о числе записей, которые предполагается
добавить. Вы можете нажать кнопку Да (Yes), и только после этого записи будут
добавлены. Если вы нажмете кнопку
Нет
(No), вставка записей будет отменена.
Замечание
Если записи добавляются
в таблицу, которая уже непуста, то наиболее часто встречающейся ошибкой при
выполнении этого запроса является попытка вставить записи, у которых значение
первичного ключа совпадает с ключами уже имеющихся в ней записей. Такие записи
вставлены не будут, будет только выдано сообщение об их количестве.
Рис. 8.7.
Бланк запроса на добавление
-
Сохраните запрос в базе
данных, присвоив ему имя Копирование заказов. Обратите внимание на значок
в списке запросов, соответствующий запросу на добавление. Как и в любом запросе
на изменение, он содержит восклицательный знак, но отличается от значка запроса
на создание таблицы.