AccessのローカルテーブルやOracleやSQL ServerのリンクテーブルをVBAで簡単にCSVファイルにエクスポートする方法をご紹介します。
クリックできる目次
Access上でエクスポート定義の保存
定義を保存する目的
VBAでAccess上のテーブルをエクスポートする前に、エクスポート定義を保存しておく必要があります。
エクスポート定義とは、「フィールド区切り記号の設定」、「西暦を4桁で表示するかの設定」や「日付に0を表示するかの設定」などを定義したものです。
予めこれらの設定を定義として保存しておいて、VBAからCSVファイルにエクスポートする際に、保存済みの定義を指定します。
こうすることで柔軟にCSVファイルにエクスポートすることができるようになります。
定義の保存方法
エクスポートするテーブルを選択し、テキストファイルへのエクスポートを手動で実行します。
画面左下の「設定」をクリックすると、
その中で、先ほど説明した「西暦を4桁で表示するか?」などの設定をすることができます。
最後に保存ボタンをクリックしてエクスポート定義を保存します。
AccessVBAでCSVファイルにエクスポート
以下のように書きます。
DoCmd.TransferText acExportDelim, "エクスポート定義の名前", "エクスポートするテーブル名", "CSVファイル名", True
AcTextTransferType の種類 | ||
定数 | 値 | 内容 |
---|---|---|
acExportDelim | 2 | 区切り記号付きエクスポート |
acExportFixed | 3 | 固定長エクスポート |
acExportHTML | 8 | HTML エクスポート |
acExportMerge | 4 | Word 差し込みデータ エクスポート |
この一文で、Access上のローカルテーブルもしくはOracleやSQL ServerのリンクテーブルのデータをCSVファイルにエクスポートすることができます。
まとめ
今回は、AccessのVBAを使って簡単にテーブルのデータをCSVファイルにエクスポートする方法をご紹介しました。
簡単なので是非試してみてくださいね♪
その他のAccess関連記事