SELECT.INTO ステートメント (Microsoft Access SQL)

適用先: Access 2013、Office 2013

テーブル作成クエリを作成します。

構文

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

SELECT...INTO ステートメントには、次の指定項目があります。

指定項目 説明
field1,field2 新しいテーブルにコピーするフィールドの名前です。
newtable 作成されるテーブルの名前です。 名前付け規則に従った名前を指定します。 引数 newtable と同じ名前のテーブルが既にある場合は、トラップ可能なエラーになります。

externaldatabase 外部データベースのパス。 パスの説明については、 IN 句を参照してください。
source レコードの選択元になる既存テーブルの名前です。 このテーブルまたはクエリは 1 つでも複数でも構いません。

注釈

テーブル作成クエリを使用すると、レコードをアーカイブしたり、テーブルのバックアップ コピーを作成したり、コピーを作成して別のデータベースにエクスポートしたり、特定の期間のデータを表示するレポートの基礎として使用したりできます。 たとえば、毎月同じテーブル作成クエリを実行して、地域別の月次売上レポートを生成できます。

注:

  • 新規テーブルに主キーを設定する場合があります。 テーブル作成クエリで作成したテーブルのフィールドは、クエリの元になるテーブルのフィールドのデータ型とフィールド サイズを継承しますが、それ以外のフィールド プロパティやテーブル プロパティは継承しません。
  • 既存のテーブルにデータを追加するには、SELECT...INTO ステートメントではなく 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