HOME > 即効テクニック > AccessVBA > クエリ・SQL > クエリをテーブルに変換2(DAO)

即効テクニック

クエリ・SQL

クエリをテーブルに変換2(DAO)

(Access 97)
●概要●
DoCmd.TransferDatabaseを使用する以外にもSELECT INTO句でも同様のことが可能です(サンプルコード1)。
SELECT INTO句を使用した場合、DoCmd.TransferDatabase が全フィールドを変換するのに対してSELECT句に必要なフィールド名を指定することでテーブルに変換したいフィールドを選択することが可能です(サンプルコード2)。
●サンプルコード2●
Public Sub FileExport2()
    CurrentDb.Execute "SELECT * INTO カタログT IN _
                      'D:\Northwind.mdb' FROM カタログ"
End Sub
●サンプルコード2●
Public Sub FileExport2()
    CurrentDb.Execute "SELECT 区分名,説明 INTO カタログT2 IN _
                      'D:\Northwind.mdb' FROM カタログ" 
End Sub
●動作確認●
テーブルに「カタログT1」および「カタログT2」が作成されていることを確認してください。また、「カタログT2」についてはフィールドが「区分名」と「説明」のみになっています。

●補足●
  1. ここで使用しているDATABASEオブジェクトのExecuteメソッドは、アクションクエリに対してのみ有効であり、またアクションクエリではレコードが返されないため、Executeメソッドを実行してもRecordsetは返されません。
  2. ここで使用しているCurrentDb関数はAccessウィンドウで現在開かれているデータベース(Databaseオブジェクト)のオブジェクト変数を返します。