Выполнение запроса на изменение

Выполнение запроса на изменение приведет к появлению новой таблицы с запися—ми, которые будут идентичны результирующему набору записей того запроса на изменение, который был создан на первом этапе.
Для выполнения запроса:

  1. Запустите запрос двойным щелчком мышки на его имени в окне базы данных . При этом он не отображает результирующий набор записей в режиме таблицы, как это делает запрос на выборку, а выполняет нужное действие. Перед его выполнением появляется сообщение, которое предупреждает, что в новую таблицу будут внесены изменения.[ Хотя таблица еще не создана. ]

Внимание
Одно из важных правил во время работы с запросами на изменение — нужно обязательно создавать резервную копию таблицы, в которую вносятся изменения. Дело в том, что исправления, внесенные запросами на изменение, необратимы, к тому же часто нелегко обнаружить записи, измененные ошибочным запросом.

  1. Подтвердите выполнение операции, нажав кнопку Да (Yes). Появится второе сообщение, показывающее число записей, которые будут помещены в новую таблицу в результате выполнения запроса.
  1. Нажмите кнопку Да (Yes). Поскольку запрос запускается впервые, будет создана новая таблица "Список холодных клиентов".
  2. Щелкните по ярлыку Таблицы (Tables) в окне базы данных и убедитесь, что в /t. списке появилось новое название таблицы.
  1. Дважды щелкните мышью по значку этой таблицы, чтобы ее открыть. Она содержит те же данные, что и запрос на создание таблицы в режиме Таблицы.

Запрос на создание таблицы может использоваться многократно для создания временных таблиц, при этом каждый раз будет создаваться новая таблица и удаляться старая.
 
Создание запросов на доьавление данных
Поэтому сначала создается запрос на выборку данных, в результат которого включаются те поля, которые должны составлять добавляемые записи, а также поля, в которых устанавливаются критерии отбора записей.
В качестве примера мы рассмотрим запрос, который будет выбирать из базы данных все заказы за 1996 год и переносить их в другую таблицу так, чтобы таблица "Заказы" (Orders) содержала только актуальные данные. Для этого сначала создадим таблицу, которая будет хранить устаревшие данные:

  1. Раскройте список таблиц в окне базы данных и выделите таблицу "Заказы" (Orders).
  2. Скопируйте таблицу в буфер обмена, нажав комбинацию клавиш <Ctrl>+<C>.
  3. Вставьте таблицу из буфера обмена, нажав комбинацию клавиш <Ctrl>+<V>. Появляется диалоговое окно Вставка таблицы (Paste Table As).
  4. В группе Параметры вставки (Paste Options) выберите переключатель Только структура (Structure Only).
  5. В поле имя таблицы (Table Name) введите строку: Заказы (архив). Нажмите кнопку ОК или клавишу <Enter>.

В списке появляется новая таблица, пока пустая, т. к. мы скопировали только структуру таблицы "Заказы" (Orders). Теперь создадим запрос на добавление, который позволит перенести в новую таблицу данные из таблицы "Заказы".

  1. Раскройте список таблиц в окне базы данных и выделите в нем таблицу "Заказы".
  2. Щелкните левой кнопкой мыши по стрелке на кнопке Новый объект (New Object) инструментальной панели и выберите из раскрывшегося списка элемент Запрос (Query). В диалоговом окне Новый запрос (New Query) выберите значение Конструктор (Design View). Появляется окно Конструктора запроса с таблицей "Заказы" в верхней части.
  3. Сначала создайте запрос на выборку нужных записей. Перетащите из списка полей таблицы "Заказы" все поля в строку бланка запроса Поле (Field).
  4. В строке Условие отбора (Criteria) столбца "ДатаРазмещения" введите выражение
    Between 101.01.961 And 131.12.961
  5. Запустите запрос на выборку, чтобы проверить, правильно ли отобраны записи. Оказались отобранными 152 записи.
  6. Выберите команду Запрос, Добавление (Query, Append) или щелкните левой кнопкой мыши по стрелке на кнопке Тип запроса (Query Type) и выберите из списка элемент Добавление (Append Query). Появляется диалоговое окно Добавление (Append), аналогичное диалоговому окну Создание таблицы (Make Table).
  7. В поле имя таблицы (Table Name) необходимо выбрать из списка имя таблицы, в которую будут добавляться записи. В данном случае по умолчанию в нем указана таблица "Заказы (архив)", которую мы только что создали. Нажмите кнопку ОК. (Если бы таблица, в которую нужно добавить записи, находилась в другой базе данных, необходимо было бы выбрать переключатель в другой базе данных (Another Database) и затем в поле имя файла (File Name) указать имя файла MDB, который содержит требуемую таблицу.)
  1. В бланке запроса на добавление появляется дополнительная строка Добавление (Append To), содержащая названия полей таблицы, в которую добавляются записи (рис. 8.7). В данном случае названия полей запроса и названия полей таблицы совпадают, поэтому по умолчанию вся эта строка заполнена. Если имена полей не совпадают, необходимо выбрать из раскрывающегося списка в строке Добавление (Append To) имя поля результирующей таблицы, соответствующего полю в исходной таблице.
  2. Нажмите кнопку Запуск (Run), чтобы выполнить запрос. Прежде чем новые записи будут добавлены в таблицу, Access выдает сообщение о числе записей, которые предполагается добавить. Вы можете нажать кнопку Да (Yes), и только после этого записи будут добавлены. Если вы нажмете кнопку Нет (No), вставка записей будет отменена.

Замечание
Если записи добавляются в таблицу, которая уже непуста, то наиболее часто встречающейся ошибкой при выполнении этого запроса является попытка вставить записи, у которых значение первичного ключа совпадает с ключами уже имеющихся в ней записей. Такие записи вставлены не будут, будет только выдано сообщение об их количестве.

Сохраните запрос в базе данных, присвоив ему имя Копирование заказов. Обратите внимание на значок в списке запросов, соответствующий запросу на добавление. Как и в любом запросе на изменение, он содержит восклицательный знак, но отличается от значка запроса на создание таблицы.