Инструкция SELECT.INTO (Microsoft Access SQL)

Область применения: Access 2013, Office 2013

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

Синтаксис

SELECT field1[, field2[, ...]] INTO newtable [IN externaldatabase] FROM source

Инструкция SELECT...INTO состоит из следующих элементов:

Часть Описание
поле1,поле2 Имена полей, которые требуется скопировать в новую таблицу.
новая_таблица Имя таблицы, которую требуется создать. Необходимо соблюдать стандартные соглашения об именовании. При совпадении имен новой_таблицы и существующей таблицы возникает перехватываемая ошибка.

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

Примечания

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

Примечание.

  • Может возникнуть необходимость определить первичный ключ для новой таблицы. При создании таблицы ее поля наследуют тип данных и размеры полей базовых таблиц запроса. Другие параметры полей не переносятся.
  • Чтобы добавить данные в таблицу, используйте вместо запроса на добавление инструкцию INSERT INTO.
  • Чтобы определить, какие записи будут отобраны, до выполнения запроса на создание таблицы, сначала проверьте результат инструкции SELECT с такими же условиями отбора.

Пример

В этом примере отбираются все записи в таблице Employees, которые копируются в новую таблицу Emp Backup.

    Sub SelectIntoX() 
     
        Dim dbs As Database 
        Dim qdf As QueryDef 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Select all records in the Employees table  
        ' and copy them into a new table, Emp Backup. 
        dbs.Execute "SELECT Employees.* INTO " _ 
            & "[Emp Backup] FROM Employees;" 
             
        ' Delete the table because this is a demonstration. 
        dbs.Execute "DROP TABLE [Emp Backup];" 
         
        dbs.Close 
     
    End Sub