Добавление записей в таблицу с помощью запроса на добавление
Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

В этой статье

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этой статье

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

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

  2. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов

    Две кнопки в группе "Запросы" на ленте 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

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

    ""

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

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

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

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

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

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

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

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

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

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

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

      -или-

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

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

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

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

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

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

Действие Access

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Рекомендации по проектированию для обновления данных

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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