概要
| この記事の結論 AccessからCSVを書き出すには、対象テーブルまたは選択クエリを選び、[外部データ]の[テキストファイル]から区切り形式で出力します。列順や抽出条件を固定したい場合は、出力専用クエリを作ると管理しやすくなります。ヘッダー・区切り文字・引用符・文字コードは受け渡し先に合わせ、Excelでの見た目だけでなくCSVの内容と取込結果を確認しましょう。 |
この記事でわかること
- 出力専用クエリを作る
- 書式付き出力を選ばない
- 受け渡し仕様を固定
- 出力件数と受取側を確認
この記事の主な内容
- CSV出力前に決める項目
- テキストファイルとして書き出す手順
- 出力用クエリで列順と対象を揃える
- 文字化けと先頭ゼロの確認方法
- 定義を保存して繰り返し出力する
- 自動出力で誤配布と上書きを防ぐ
- よくある質問
想定読了時間:約7分~9分
1 CSV出力前に決める項目
CSVを書き出す前に、受け取り側が期待する形式を確認します。同じ.csvという拡張子でも、文字コード、ヘッダー、日付、空欄の扱いが違えば取り込めません。「Excelで開ける」だけを完成条件にしないことが重要です。
| 決める項目 | 確認例 |
|---|---|
| 列名と列順 | 受注番号、受注日、金額の順か |
| ヘッダー | 先頭行に項目名を付けるか |
| 文字コード | UTF-8かCP932などか |
| 日付・空値 | 日付の表記、Nullをどう渡すか |
| 区切り・引用符 | カンマ区切りと値内のカンマの扱い |
不要な個人情報や社内用の管理列まで出力しないよう、渡す列を明確にします。
大量データを出して受け取り側で削るより、出力対象をAccess側で固定した方が確認しやすくなります。
参考:Microsoft データをテキストファイルにエクスポートする
2 テキストファイルとして書き出す手順
CSVを作るときは、テキストファイルへのエクスポートで区切り形式を選びます。
書式やレイアウトを付けた帳票向けの出力とは設定が異なります。
1. ナビゲーションウィンドウで対象テーブルまたは選択クエリを選びます。
2. [外部データ]のエクスポートにある[テキストファイル]を選びます。
3. 出力先を指定し、必要に応じて拡張子を.csvにします。既存ファイルを上書きしない名前で試します。
4. [書式設定とレイアウトをエクスポートする]を選ばず、データ出力のウィザードへ進みます。
5. 区切り形式、カンマなどの区切り文字、引用符、フィールド名を含めるかを指定します。
6. 出力後、テキストの内容、件数、受け取り側での取り込み結果を確認します。
文字コードの選択位置や表示項目は画面によって異なります。
[詳細設定]などで形式を確認し、受け取り側の仕様と合わせてください。
ファイル名を.csvへ変えるだけで、必要な区切り形式になるわけではありません。

3 出力用クエリで列順と対象を揃える
継続して同じ形式を渡す場合は、出力専用の選択クエリを用意します。
必要な列を明示し、抽出対象期間や並べ替えも管理できます。
テーブルに列が追加されても、出力に不要な列が勝手に増えないようにする意図があります。
出力列を固定するSQLの例
SELECT [受注番号], [受注日], [金額]
FROM [T_受注]
ORDER BY [受注番号];
これは説明用の参照クエリです。実際のテーブルと列名に置き換え、必要な期間条件を設計してください。
SELECT *で全列を指定すると、後の列追加が出力形式に影響することがあります。
受け渡し用では列を明示する方が確認しやすくなります。
日付の表示形式を厳密に求められる場合は、出力用クエリや形式定義で揃え、実際のファイルを照合します。
画面の表示書式だけで出力値が必ず同じになるとは考えないでください。
4 文字化けと先頭ゼロの確認方法
文字化けした場合は、出力側と受取側が同じ文字コードとして扱っているかを確認します。
UTF-8という指定でもBOMの有無など追加条件がある場合は、受け取り側の仕様に合わせて検証します。
CSVをExcelで直接開くと、Excelの型推測で先頭ゼロが消えたり、コードが日付になったりすることがあります。CSVの生テキストに正しい値が残っているなら、Accessの出力ではなく開き方の問題です。
Excel側で列をテキストとして取り込む方法を試します。
- CSVそのものにコードの先頭ゼロが残っているか。
- 引用符内のカンマや改行が壊れていないか。
- 日付や小数点、Nullが仕様どおりか。
- 受取側が認識した件数とAccessの対象件数が一致するか。
引用符で囲めば、どの受取アプリでも必ず文字列になるとは限りません。
CSVは列の型を保持する形式ではないため、受け取り側の取り込み設定も合わせて確認する必要があります。

複数テーブルや複数端末への影響が分からない場合は、変更目的と現状の構成を整理してお気軽にご相談ください。
5 定義を保存して繰り返し出力する
操作完了後に保存する「保存済みエクスポート」は、同じ処理を再実行するために使います。
テキストウィザードの[詳細設定]で保存する形式定義は、出力形式を再利用する別の仕組みです。
| 保存したもの | 主な用途 | 実行方法 |
|---|---|---|
| 保存済み操作 | 同じ手順の再実行 | RunSavedImportExport |
| テキスト形式定義 | 区切りや列の形式を再利用 | TransferTextの定義名引数 |
ファイル名や対象を毎回変える場合は、形式定義を使ったVBA処理が候補になります。
固定する仕様と変える引数を分けて設計します。具体的な作成・編集は関連記事で説明しているので必要に応じてご参照ください。
参考:Microsoft インポートまたはエクスポート操作の詳細を保存する / Microsoft TransferTextメソッド
6 自動出力で誤配布と上書きを防ぐ
自動出力は、エラーが出なかったことだけで正常と判断しないようにします。
抽出条件を誤れば、0件や別期間のCSVでもファイル自体は作れてしまいます。
対象期間、出力件数、実行結果を記録してください。
- 出力先フォルダーの存在と書込権限を確認する。
- 試験時は新しいファイル名を使い、既存ファイルを保護する。
- 完成前のファイルを受取側が読まないよう、受け渡し方法を決める。
- 対象外の列や個人情報が混入していないか点検する。
一時名で出力して確認後に受け渡し対象へ切り替える方法もあります。
途中失敗のファイルを完成品として扱わないためです。
再送時に相手側で二重取り込みにならないよう、ファイルIDや対象期間を含む運用ルールも整えましょう。
よくある質問(FAQ)
拡張子だけでは内容は変わりません。区切り形式と区切り文字を設定して出力します。
選択クエリの結果を出力できます。列順、抽出条件、並び順を出力専用クエリで管理すると扱いやすくなります。
Excelの型推測が原因の場合もあります。まずCSVの生テキストに元のコードが残っているか確認します。
保存済み操作やテキスト形式定義を再利用できます。両者は実行方法が異なるため使い分けます。
CSV出力・他システム連携の改善が必要な場合
この記事の手順を作業用コピーで確認しても解決しない場合や、業務への影響が大きく自社だけで判断しにくい場合は、お気軽にご相談ください。Accessの現在の構成、発生している症状、変更したい内容をもとに、調査・改修の範囲を整理します。
ご相談時は、Accessの製品名・Build・bit数、エラーの内容、対象ファイルの構成、直前に変えた設定を分かる範囲でお知らせください。機密データやパスワードは公開フォーム等へそのまま記載しないでください。