"ImportExportData/データのインポート/エクスポート" マクロ アクションを使って、現在の Access データベース (.mdb または .accdb) または Access プロジェクト (.adp) と別のデータベース間でデータをインポートまたはエクスポートすることができます。 Access デスクトップ データベースでは、現在の Access データベースに別のデータベースからテーブルをリンクすることもできます。 リンク テーブルを使えば、テーブル自体は他のデータベースにある状態で、そのテーブルのデータにアクセスすることができます。
注: Access 2010 から、"TransferDatabase/データベース変換" マクロ アクションは "ImportExportData/データのインポート/エクスポート" という名前に変更されました。
注: このアクションは、データベースが信頼されていない場合は許可されません。
設定
"ImportExportData/データのインポート/エクスポート" マクロ アクションには次の引数があります。
アクションの引数 |
説明 |
Transfer Type/変換の種類 |
変換の種類です。 マクロ デザイン ウィンドウの [アクションの引数] セクションの [変換の種類] ボックスで、[インポート]、[エクスポート]、または [リンク] を選びます。 既定値は [インポート] です。 注: Access プロジェクト (.adp) では、変換の種類として [リンク] はサポートされていません。 |
Database Type/データベースの種類 |
インポート、エクスポート、またはリンクするデータベースの種類です。 [データベースの種類] ボックスで、[Microsoft Access] を選ぶことも、他のいくつかのデータベースの種類からいずれかを選ぶこともできます。 既定値は [Microsoft Access] です。 |
Database Name/データベース名 |
インポート、エクスポート、またはリンクするデータベースの名前です。 フル パスを含めます。 これは必須の引数です。 FoxPro、Paradox、dBASE など、テーブルごとにそれぞれ別のファイルを使うデータベースの種類では、ファイルを含むディレクトリを入力します。 "Source/データベース元" 引数 (インポートまたはリンクの場合) または "Destination/変換先名" 引数 (エクスポートの場合) にファイル名を入力します。 ODBC データベースでは、完全な Open Database Connectivity (ODBC) 接続文字列を入力します。 接続文字列の例を表示する場合は、次のように外部テーブルを Access にリンクします。
デザイン ビューで新しくリンクされたテーブルを開き、[デザイン] タブの [ツール] にある [プロパティ シート] をクリックしてテーブル プロパティを表示します。 [説明] プロパティー設定のテキストは、このテーブルの接続文字列です。 ODBC 接続文字列の詳細については、ヘルプ ファイル、またはこの種の ODBC データベースの ODBC ドライバーに関する他のドキュメントを参照してください。 |
オブジェクトの種類 |
インポートまたはエクスポートするオブジェクトの種類です。 "Database Type/データベースの種類" 引数として [Microsoft Access] を選んだ場合は、[オブジェクトの種類] ボックスで [テーブル]、[クエリ]、[フォーム]、[レポート]、[マクロ]、[モジュール]、[データ アクセス ページ]、[サーバー ビュー]、[ダイアグラム]、[ストアド プロシージャ]、[関数] を選ぶことができます。 既定値は [テーブル] です。 他の種類のデータベースを選んだ場合や、[変換の種類] ボックスで [リンク] を選んだ場合、この引数は無視されます。 Access データベースに 選択クエリ をエクスポートする場合は、この引数で [テーブル] を選んでクエリの 結果セット をエクスポートし、[クエリ] を選んでクエリ自体をエクスポートします。 選択クエリを別の種類のデータベースにエクスポートする場合、この引数は無視され、クエリの結果セットがエクスポートされます。 |
Source/データベース元 |
インポート、エクスポート、またはリンク対象のテーブル、選択クエリ、または Access オブジェクトの名前です。 FoxPro、Paradox、または dBASE などの一部の種類のデータベースの場合、これはファイル名になります。 ファイル名にはファイル名拡張子 (.dbf など) を含めます。 これは必須の引数です。 |
Destination/変換先名 |
変換先データベースにインポート、エクスポート、またはリンクされるテーブル、選択クエリ、または Access オブジェクトの名前です。 FoxPro、Paradox、または dBASE などの一部の種類のデータベースの場合、これはファイル名になります。 ファイル名にはファイル名拡張子 (.dbf など) を含めます。 これは必須の引数です。 "Transfer Type/変換の種類" 引数として [インポート] を選び、"Object Type/オブジェクトの種類" 引数として [テーブル] を選んだ場合、Access では、インポートしたテーブルのデータを含む新しいテーブルが作成されます。 テーブルまたは他のオブジェクトをインポートしたときに、既存の名前と競合する場合は、名前に番号が追加されます。 たとえば、"従業員" をインポートしたときに、既に "従業員" が存在する場合、Access ではインポートしたテーブルまたは他のオブジェクトの名前が "従業員1" に変更されます。 Access データベースまたは別のデータベースにエクスポートすると、Access では、同じ名前の既存のテーブルまたは他のオブジェクトが自動的に置き換えられます。 |
Structure Only/テーブル構造のみ |
データのないデータベース テーブルの構造のみをインポートするかエクスポートするかを指定します。 [はい] または [いいえ] を選びます。 既定値は [いいえ] です。 |
解説
Access と他の種類のデータベース間でテーブルをインポートおよびエクスポートすることができます。 Access の選択クエリを他の種類のデータベースにエクスポートすることもできます。 Access では、テーブル形式でクエリの結果セットがエクスポートされます。 対象のデータベースが両方とも Access データベースである場合は、Access データベース オブジェクトのインポートとエクスポートが可能です。
別の Access データベース (.mdb または .accdb) からリンク テーブルをインポートする場合、インポート後もテーブルはリンクされたままです。 つまり、テーブル自体ではなく、リンクがインポートされることになります。
アクセスしようとしているデータベースでパスワードが必要な場合は、マクロの実行時にダイアログ ボックスが表示されます。 このダイアログ ボックスでパスワードを入力します。
ImportExportData アクションは、[外部データ] タブの [インポート] または [エクスポート] のコマンドに似ています。 これらのコマンドを使用して、Access データベースや別の種類のデータベース、スプレッドシート、テキスト ファイルなどのデータソースを選択できます。 データベースを選択すると、インポートまたはエクスポートするオブジェクトの種類 (Access データベースの場合)、オブジェクトの名前、およびその他のオプションを選択する 1 つ以上のダイアログ ボックスが表示されます。これは、インポート元またはエクスポート先またはリンク先のデータベースに応じて異なります。 ImportExportData アクションの引数には、これらのダイアログ ボックスのオプションが反映されます。
リンクされた dBASE テーブルのインデックス情報を指定する場合は、まず、次のようにしてテーブルをリンクします。
-
[外部データ] タブの [インポート] グループで、[その他] をクリックします。
-
[dBASE ファイル] をクリックします。
-
[外部データの取り込み] ダイアログ ボックスの [ファイル名] ボックスに、dBASE ファイルのパスを入力します。
-
[リンク テーブルを作成してソース データにリンクする] をクリックし、[OK] をクリックします。
-
このコマンドのダイアログ ボックスでインデックスを指定します。 Access では、Microsoft Office フォルダーにある、特別な情報 (.inf) ファイルにインデックス情報が格納されます。
-
これで、リンク テーブルへのリンクを削除できます。
次回、"ImportExportData/データのインポート/エクスポート" アクションを使ってこの dBASE テーブルをリンクするときに、Access では、指定したインデックス情報が使用されます。
注: リンク テーブルのクエリまたはフィルターを実行する場合、そのクエリまたはフィルターでは大文字と小文字が区別されます。
Visual Basic for Applications (VBA) モジュールで "ImportExportData/データのインポート/エクスポート" アクションを実行するには、DoCmd オブジェクトの TransferDatabase メソッドを使います。