はじめに
AccessではCSVファイルの取り込み・出力を使うことで、
-
他システムとのデータ連携
-
毎日のデータ自動取込
-
バックアップ保存
などが簡単に実現できます。
本記事では、
AccessでCSVを安全・確実に扱う方法をVBA付きで解説します。
CSVインポートの基本(標準機能)
DoCmd.TransferText acImportDelim, , “取込テーブル”, “C:\data\sample.csv”, True
CSVエクスポートの基本
DoCmd.TransferText acExportDelim, , “売上テーブル”, “C:\data\export.csv”, True
ファイル選択ダイアログを使う方法
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
If fd.Show Then
DoCmd.TransferText acImportDelim, , “取込テーブル”, fd.SelectedItems(1), True
End If
よくあるトラブル①:文字化け
原因
-
UTF-8 と Shift-JIS の違い
対策
-
事前にExcelでShift-JIS保存
-
スキーマ.iniを使用
スキーマ.ini例
[sample.csv]
ColNameHeader=True
Format=Delimited(,)
CharacterSet=932
エラー対策(ファイルが存在しない場合)
If Dir(“C:\data\sample.csv”) = “” Then
MsgBox “ファイルが見つかりません”
Exit Sub
End If
実務向け:自動取込処理
-
フォルダ監視
-
定時実行
-
取込後に移動・削除
Excel連携との違い
| 比較 | CSV | Excel |
|---|---|---|
| 軽さ | ◎ | △ |
| 文字化け | 注意 | 少ない |
| 他システム連携 | ◎ | △ |
よくある質問
Q. UTF-8のCSVは直接読めますか?
→ スキーマ.ini設定で対応可能です。
Q. ヘッダなしCSVは?
→ TransferText第5引数をFalseに。
まとめ
CSV連携を覚えることで、
-
他システム連携
-
自動化
-
ミス削減
が可能になります。
Excel連携とセットで覚えると実務で非常に強力です。
内部リンク
内部リンク先: