即効テクニック |
●概要● 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」についてはフィールドが「区分名」と「説明」のみになっています。 ●補足●
- ここで使用しているDATABASEオブジェクトのExecuteメソッドは、アクションクエリに対してのみ有効であり、またアクションクエリではレコードが返されないため、Executeメソッドを実行してもRecordsetは返されません。
- ここで使用しているCurrentDb関数はAccessウィンドウで現在開かれているデータベース(Databaseオブジェクト)のオブジェクト変数を返します。