В этой статье описывается процедура создания и выполнения запроса на добавление. Запрос на добавление предназначен для добавления новых записей в существующую таблицу с использованием данных из других источников.
Если нужно изменить данные в существующем наборе записей, например обновить значение поля, можно использовать запрос на обновление. Если требуется создать новую таблицу из выделенных данных или объединить две таблицы в одну таблицу, можно использовать запрос на создание таблицы. Дополнительные сведения о запросах на обновление и создание таблицы, а также общие сведения о других способах добавления записей в базу данных и изменения существующих данных см. в разделе "См. также ".
В этом разделе...
- Обзор
- Создание и выполнение запроса на добавление
- Выполнение запроса, заблокированного из-за режима отключения содержимого
Обзор
Запрос на добавление обеспечивает выборку записей из одного или нескольких источников данных и копирование выбранных записей в существующую таблицу.
Предположим, вы получили базу данных с таблицей потенциальных клиентов и у вас уже есть таблица с такими данными в существующей базе данных. Чтобы данные хранились в одной таблице, вы решаете скопировать их из новой базы данных в существующую. Чтобы не вводить новые данные вручную, записи можно скопировать с помощью запроса на добавление.
Преимущества использования запроса на добавление
Используя запрос для копирования данных, можно выполнять указанные ниже операции.
- Добавление нескольких записей за один проход При копировании данных вручную обычно требуется выполнить несколько операций копирования и вставки. Используя запрос, можно выбрать все нужные данные одновременно, а затем скопировать их.
- Проверьте свой выбор, прежде чем копировать его Выделенный фрагмент можно просмотреть в режиме таблицы и внести необходимые изменения перед копированием данных. Это особенно удобно, если запрос содержит условия или выражения и вам необходимо несколько попыток для правильного выбора данных. Запрос на добавление нельзя отменить. Если сделана ошибка, придется либо восстанавливать базу данных с помощью резервной копии, либо исправлять ошибку вручную или с помощью запроса на удаление.
- Уточнение выбора с помощью условий. Например, может потребоваться добавить записи только для клиентов, живущих в конкретном городе.
- Добавление записей, если некоторые поля в источниках данных отсутствуют в конечной таблице Предположим, например, что существующая таблица клиентов содержит одиннадцать полей, а в новой таблице, из которой выполняется копирование, только девять из них. Для копирования данных из девяти совпадающих полей можно использовать запрос на добавление, а два несовпадающих поля можно оставить пустыми.
Основные этапы создания запроса на добавление
Создание запроса на добавление включает следующие основные этапы.
- Создание запроса на выборку Сначала выделите данные, которые нужно скопировать. При необходимости в запрос на выборку можно вносить изменения и выполнять его до тех пор, пока не будут выбраны нужные данные для копирования.
- Преобразование запроса на выборку в запрос на добавление. Когда выборка будет готова, можно изменить тип запроса для Добавление.
- Выберите конечные поля для каждого столбца в запросе на добавление В некоторых случаях Access автоматически выбирает конечные поля. Эти поля можно настроить или при необходимости выбрать самостоятельно.
- Предварительный просмотр и выполнение запроса на добавление записей. Перед добавлением записей можно переключиться в режим таблицы для предварительного просмотра добавляемых записей.
Важно
Запрос на добавление нельзя отменить. Рекомендуется создать резервную копию базы данных или целевой таблицы.
Создание и выполнение запроса на добавление
В этой статье
- Этап 1. Создание запроса на выборку записей для копирования
- Этап 2. Преобразование запроса на выборку в запрос на добавление
- Этап 3. Выбор целевых полей
- Этап 4. Предварительный просмотр и выполнение запроса на добавление
Этап 1. Создание запроса на выборку записей для копирования
Откройте базу данных с записями, которые нужно скопировать.
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
Дважды щелкните таблицы или запросы с записями, которые нужно скопировать, а затем нажмите кнопку Закрыть.
Таблицы или запросы появляются в виде одного или нескольких окон в конструкторе запросов. В каждом окне выводятся поля таблицы или запроса. На рисунке показана типичная таблица в окне конструктора запросов.
Таблица "Ресурсы", отображаемая в конструкторе запросов
Бланк запросаДважды щелкните каждое поле, которое требуется добавить. Выбранные поля появятся в строке Поле бланка запроса.
Типы данных полей исходной таблицы должны быть совместимы с типами данных полей в конечной таблице. Текстовые поля совместимы с большинством других типов полей. Числовые поля совместимы только с числовыми полями. Например, можно добавить числа в текстовое поле, но нельзя добавить в числовое поле текст.
Выражения можно также использовать в качестве поля, например =Date(), чтобы автоматически возвращать текущую дату, а для настройки выделенных данных — для полей таблицы или запроса на бланке запроса. Например, если в конечной таблице есть поле, в котором хранится год из четырех чисел, а в исходной таблице — обычное поле даты и времени, можно использовать функцию DatePart с исходным полем, чтобы выбрать только год.
Чтобы быстро добавить все поля в таблице, дважды щелкните звездочку (*) в верхней части списка полей таблицы. На рисунке показан бланк со всеми добавленными полями.
При необходимости можно ввести одно или несколько условий в строке Условие отбора бланка. В приведенной ниже таблице представлены некоторые примеры условий, а также результаты их применения.
На вкладке Конструктор запросов в группе Результаты нажмите
"Выполнить".Убедитесь, что запрос вернул записи, которые необходимо скопировать. Если необходимо добавить или удалить поля из запроса, переключитесь обратно в режим конструктора и добавьте их, как указано в описании предыдущего этапа, или выберите ненужные поля и нажмите клавишу DELETE, чтобы удалить их из запроса.
Этап 2. Преобразование запроса на выборку в запрос на добавление
На вкладке Главная в группе Представление щелкните элемент Представление, а затем — Режим конструктора.
На вкладке "Конструктор запросов " в группе "Тип запроса " нажмите кнопку "Добавить".
Откроется диалоговое окно Добавление.
Укажите, куда следует добавить записи: в таблицу текущей базы данных или в таблицу какой-либо другой базы данных.
Выполните одно из указанных ниже действий.- В диалоговом окне Добавление установите переключатель в текущей базе данных, выберите целевую таблицу в поле со списком Имя таблицы и нажмите кнопку ОК.
-или- - В диалоговом окне Добавление установите переключатель в другой базе данных.
- В поле Имя файла введите расположение и имя целевой базы данных.
- В поле со списком Имя таблицы введите имя целевой таблицы и нажмите кнопку ОК.
- В диалоговом окне Добавление установите переключатель в текущей базе данных, выберите целевую таблицу в поле со списком Имя таблицы и нажмите кнопку ОК.
Дополнительные сведения о синтаксисе SQL для создания запроса на добавление см . в инструкции INSERT IN.
Этап 3. Выбор целевых полей
Способ выбора целевых полей зависит от того, как был создан запрос на выборку на этапе 1.
| Действие пользователя | Действие Access |
|---|---|
| Добавление всех полей из исходной таблицы или запроса | Добавляет все поля целевой таблицы в строку Добавить к бланка запроса. |
| Добавление отдельных полей к запросу или использованным выражениям; названия полей в исходной и конечной таблицах совпадают | Автоматически добавляет совпадающие целевые поля в строку Добавить к в запросе. |
| Добавление отдельных полей или использованных выражений; какие-либо имена в исходной и целевой таблицах не совпадают | Добавляет совпадающие поля и оставляет несовпадающие поля пустыми. |
Если Access оставляет поля пустыми, можно щелкнуть ячейку в строке Добавить к и выбрать целевое поле.
На приведенном рисунке показано, как щелкнуть ячейку в строке Добавление записей в таблицу и выбрать конечное поле.
Примечание
Если целевое поле оставлено пустым, запрос не добавит данных к этому полю.
Этап 4. Предварительный просмотр и выполнение запроса на добавление
Для предварительного просмотра внесенных изменений переключитесь в режим таблицы.
Совет
Для быстрого переключения режимов щелкните правой кнопкой мыши вкладку в верхней части запроса, а затем выберите нужный режим.
Вернитесь в режим конструктора и нажмите
"Выполнить", чтобы добавить записи.Примечание
При выполнении запроса, который возвращает большое количество данных, может появится сообщение об ошибке, в котором будет сказано, что отменить запрос не удастся. Попробуйте увеличить ограничение сегмента памяти до 3 МБ, чтобы выполнить запрос до конца.
Выполнение запроса, заблокированного из-за режима отключения содержимого
Если при попытке выполнения запроса на добавление ничего не происходит, проверьте, не появляется ли в строке состояния Access следующее сообщение:
Данное действие или событие заблокировано в режиме отключения.
Чтобы отменить блокировку и включить запрос, нажмите на панели сообщений кнопку Включить содержимое.
Примечание
При включении запроса на добавление включается также все остальное содержимое базы данных.
Если вы не видите панель сообщений, она может быть скрыта. Эту панель можно отобразить, если она не отключена. Если панель сообщений отключена, ее можно включить.
См. также
Создание и выполнение запроса на обновление
Рекомендации по проектированию для обновления данных