Добавление записей в таблицу с помощью запроса на добавление

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

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

Примечание : Запрос на добавление недоступен в веб-приложениях Access, но такие запросы можно использовать в веб-базах данных, открыв их в Access.

В этой статье

Обзор

Создание и выполнение запроса на добавление

Выполнение запроса, заблокированного из-за режима отключения содержимого

Обзор

Запрос на добавление обеспечивает выборку записей из одного или нескольких источников данных и копирование выбранных записей в существующую таблицу.

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

Преимущества использования запроса на добавление

Используя запрос для копирования данных, можно выполнять указанные ниже операции.

  • Добавление нескольких записей одновременно.    При копировании данных вручную обычно приходится несколько раз копировать и вставлять записи. Используя запрос, можно выбрать все нужные данные одновременно, а затем скопировать их.

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

  • Уточнение выбора с помощью условий.    Например, может потребоваться добавить записи только для клиентов, живущих в конкретном городе.

  • Добавление записей в целевую таблицу, в которой отсутствуют некоторые поля из источников данных.    Предположим, что в существующей таблице клиентов 11 полей, а в новой таблице, из которой требуется скопировать данные, — только девять из них. Для копирования данных из девяти совпадающих полей можно использовать запрос на добавление, а два несовпадающих поля можно оставить пустыми.

Основные этапы создания запроса на добавление

Создание запроса на добавление включает следующие основные этапы.

  • Создание запроса на выборку.    В начале необходимо выбрать данные для копирования. При необходимости в запрос на выборку можно вносить изменения и выполнять его до тех пор, пока не будут выбраны нужные данные для копирования.

  • Преобразование запроса на выборку в запрос на добавление.    Когда выборка будет готова, можно изменить тип запроса для Добавление.

  • Выбор целевых полей для каждого столбца в запросе на добавление.    В некоторых случаях Access выбирает целевые поля автоматически. Эти поля можно настроить или при необходимости выбрать самостоятельно.

  • Предварительный просмотр и выполнение запроса на добавление записей.    Перед добавлением записей можно переключиться в режим таблицы для предварительного просмотра добавляемых записей.

Важно : Запрос на добавление нельзя отменить. Рекомендуется создать резервную копию базы данных или целевой таблицы.

Создание и выполнение запроса на добавление

В этой статье

Этап 1. Создание запроса на выборку записей для копирования

Этап 2. Преобразование запроса на выборку в запрос на добавление

Этап 3. Выбор целевых полей

Этап 4. Предварительный просмотр и выполнение запроса на добавление

Этап 1. Создание запроса на выборку записей для копирования

  1. Откройте базу данных с записями, которые нужно скопировать.

  2. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов. Если вы используете Access 2007, выберите элементы Создание > Другое > Конструктор запросов.

    Две кнопки в группе "Запросы" на ленте Access: "Мастер запросов" и "Конструктор запросов"

    Откроется окно конструктора запроса и диалоговое окно Добавление таблицы.

    Диалоговое окно для добавления таблицы в Access, в котором показаны названия таблиц
  3. Дважды щелкните таблицы или запросы с записями, которые нужно скопировать, а затем нажмите кнопку Закрыть.

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

    Таблица в конструкторе запросов

    1. Таблица "Основные средства" в окне конструктора запросов

    2. Бланк запроса

  4. Дважды щелкните каждое поле, которое требуется добавить. Выбранные поля появятся в строке Поле бланка запроса.

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

    Кроме того, можно использовать в качестве поля выражение (например, =Date() для автоматического возврата текущей даты), а также настраивать данные выборки в бланке с помощью выражений, содержащих поля таблицы или запроса. Например, если целевая таблица содержит поле с четырехзначным значением года, а исходная таблица содержит поле со значениями даты и времени в стандартном формате, вы можете применить функцию DatePart к исходному полю, чтобы выбирать только год.

    Чтобы быстро добавить все поля в таблице, дважды щелкните звездочку (*) в верхней части списка полей таблицы. На рисунке показан бланк со всеми добавленными полями.

    Запрос со всеми добавленными полями таблицы

  5. При необходимости можно ввести одно или несколько условий в строке Условие отбора бланка. В приведенной ниже таблице представлены некоторые примеры условий, а также результаты их применения.

Условие

Результат

> 234

Возвращает все числа больше 234. Чтобы найти все числа меньше 234, используйте условие < 234.

>= "Новосибирск"

Возвращает все записи от "Новосибирск" до конца алфавита.

Between #02.02.2017# And #01.12.2017#

Выбирает даты между 2-фев-17 и 1-дек-17 (ANSI-89). Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо знака решетки одинарные кавычки ('). Пример: Between '02.02.2017' And '01.12.2017'.

Not "Германия"

Находит все записи, в которых содержимое поля не соответствует значению "Германия". Согласно этому условию будут найдены записи, содержащие дополнительный текст, кроме слова "Германия", например "Германия (евро)" или "Европа (Германия)".

Not "Т*"

Находит все записи, кроме тех, которые начинаются с буквы "Т". Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте знак процента (%) вместо знака звездочки (*).

Not "*т"

Находит все записи, которые не оканчиваются на букву "т". Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо звездочки (*) знак процента (%).

In(Канада,Великобритания)

Находит все записи в списке со словами "Канада" или "Великобритания".

Like "[А-Г]*"

Находит в поле с типом данных "Текстовый" все записи, начинающиеся с букв "А-Г". Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо звездочки (*) знак процента (%).

Like "*ар*"

Находит все записи, которые содержат сочетание букв "ар". Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо звездочки (*) знак процента (%).

Like "Григорий Верны?"

Находит все записи, начинающиеся с имени "Григорий" и содержащие вторую строку из 9 букв, из которых 6 букв составляют начало фамилии "Верный", а последняя буква неизвестна (на это указывает вопросительный знак). Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо вопросительного знака (?) знак подчеркивания (_).

#2/2/2017#

Находит все записи за 2 февраля 2017 г. Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо знака решетки (#) одинарные кавычки. Например: '02.02.2017'.

< Date() - 30

Возвращает все даты, которые более чем на 30 дней раньше текущей даты.

Date()

Возвращает все записи, содержащие текущую дату.

Between Date( ) And DateAdd("M", 3, Date( ))

Возвращает все записи с датой, которая находится между текущей датой и датой, которая на 3 месяца позже текущей.

Is Null

Возвращает все записи, содержащие пустое (незаполненное или неопределенное) значение.

Is Not Null

Возвращает все записи, содержащие непустое значение.

""

Возвращает все записи, содержащие строку нулевой длины. Такие строки обычно используются, когда поле обязательно должно иметь значение, но это значение еще неизвестно. Например, поле может содержать номер факса, но некоторые заказчики могут не иметь устройств факсимильной связи. В этом случае вместо номера факса можно ввести пару двойных кавычек без пробела между ними ("").

  1. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить Изображение кнопки .

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

Этап 2. Преобразование запроса на выборку в запрос на добавление

  1. На вкладке Главная в группе Представление щелкните элемент Представление, а затем — Режим конструктора.

  2. На вкладке Разработка в группе Тип запроса выберите команду Добавить.

    Откроется диалоговое окно Добавление.

    Снимок экрана: диалоговое окно "Добавление"

  3. Укажите, куда следует добавить записи: в таблицу текущей базы данных или в таблицу какой-либо другой базы данных.

    Выполните одно из указанных ниже действий.

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

      -или-

    • В диалоговом окне Добавление установите переключатель в другой базе данных.

    • В поле Имя файла введите расположение и имя целевой базы данных.

    • В поле со списком Имя таблицы введите имя целевой таблицы и нажмите кнопку ОК.

Этап 3. Выбор целевых полей

Способ выбора целевых полей зависит от того, как был создан запрос на выборку на этапе 1.

Действие пользователя

Действие Access

Добавление всех полей из исходной таблицы или запроса

Добавляет все поля целевой таблицы в строку Добавить к бланка запроса.

Добавление отдельных полей к запросу или использованным выражениям; названия полей в исходной и конечной таблицах совпадают

Автоматически добавляет совпадающие целевые поля в строку Добавить к в запросе.

Добавление отдельных полей или использованных выражений; какие-либо имена в исходной и целевой таблицах не совпадают

Добавляет совпадающие поля и оставляет несовпадающие поля пустыми.

Если Access оставляет поля пустыми, можно щелкнуть ячейку в строке Добавить к и выбрать целевое поле.

На приведенном рисунке показано, как щелкнуть ячейку в строке Добавление записей в таблицу и выбрать конечное поле.

Раскрывающийся список в строке "Добавление записей в таблицу"

Примечание : Если целевое поле оставлено пустым, запрос не добавит данных к этому полю.

Этап 4. Предварительный просмотр и выполнение запроса на добавление

  1. Для предварительного просмотра внесенных изменений переключитесь в режим таблицы.

    Совет : Для быстрого переключения режимов щелкните правой кнопкой мыши вкладку в верхней части запроса, а затем выберите нужный режим.

  2. Чтобы добавить записи, вернитесь в режим конструктора и нажмите кнопку Выполнить Изображение кнопки .

    Примечание :  При выполнении запроса, который возвращает большое количество данных, может появится сообщение об ошибке, в котором будет сказано, что отменить запрос не удастся. Попробуйте увеличить ограничение сегмента памяти до 3 МБ, чтобы выполнить запрос до конца.

К началу страницы

Выполнение запроса, заблокированного из-за режима отключения содержимого

Если при попытке выполнения запроса на добавление ничего не происходит, проверьте, не появляется ли в строке состояния Access следующее сообщение:

Данное действие или событие заблокировано в режиме отключения.

Чтобы отменить блокировку и включить запрос, нажмите на панели сообщений кнопку Включить содержимое.

Примечание : При включении запроса на добавление включается также все остальное содержимое базы данных.

Если вы используете Access 2007, для включения содержимого потребуется выполнить указанные ниже действия.

  1. На панели сообщений нажмите кнопку Параметры.

  2. В диалоговом окне Параметры безопасности Microsoft Office выберите команду Включить это содержимое и нажмите кнопку ОК.

Если вы не видите панель сообщений, она может быть скрыта. Эту панель можно отобразить, если она не отключена. Если панель сообщений отключена, ее можно включить. Чтобы включить панель сообщений в Access 2007, перейдите в область Параметры центра управления безопасностью диалогового окна Параметры Access, установите флажок Показывать панель сообщений во всех приложениях Office, если содержимое заблокировано и нажмите кнопку ОК. Чтобы изменения вступили в силу, необходимо закрыть и снова открыть базу данных.

К началу страницы

См. также

Создание и выполнение запроса на обновление

Добавление одной или нескольких записей в базу данных

Создание запроса на создание таблицы

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×