accessエラー・64bit・トラブル特化 PR

AccessでCSVが文字化けする原因と完全対処法【UTF-8・schema.ini・VBA解説】

記事内に商品プロモーションを含む場合があります

はじめに

AccessでCSVファイルをインポートすると、

  • 日本語が「???」になる

  • 文字が崩れる

  • 正しく表示されない

といった 文字化けトラブル がよく発生します。

本記事では、
AccessでCSVが文字化けする原因と、その完全な対処法
初心者向けに分かりやすく解説します。

AccessでCSVが文字化けする主な原因

原因①:文字コードの違い

CSVファイルには主に以下の文字コードがあります。

種類 内容
Shift-JIS 日本のExcel標準
UTF-8 Web・他システムで多い
UTF-8(BOM付き) Excelで保存したUTF-8

対策①:ExcelでShift-JIS保存に変換

最も簡単な方法です。

  1. CSVをExcelで開く

  2. 「名前を付けて保存」

  3. 「CSV(コンマ区切り)」を選択

  4. Shift-JIS形式で保存

対策②:schema.iniを使う方法(最重要)

schema.iniとは?

AccessにCSVの構造と文字コードを教える設定ファイルです。

schema.ini 記述例

[sample.csv] ColNameHeader=True
Format=Delimited(,)
CharacterSet=932

設置場所

CSVと同じフォルダに保存します。


UTF-8 CSVを読み込む場合

CharacterSet=65001

と指定します。

[sample.csv] ColNameHeader=True
Format=Delimited(,)
CharacterSet=65001

VBAでCSVを安全に読み込む例

DoCmd.TransferText acImportDelim, , “取込テーブル”, “C:\data\sample.csv”, True

schema.iniがあることで文字化けを防げます。

よくある失敗例

❌ schema.iniのファイル名が違う

[sample.csv] ← CSV名と完全一致が必要

❌ フォルダが違う

CSVと同じフォルダに置く必要あり。

区切り文字が「;」の場合

Format=Delimited(;)

文字化け+Nullになる場合

Access側のテーブル型が原因の場合もあります。

フィールド型 推奨
短いテキスト
数値型 ×
日付型 注意

トラブル時のチェックリスト

  • CSVはUTF-8かShift-JISか?

  • schema.iniは存在するか?

  • CSV名と一致しているか?

  • フィールド型は短いテキストか?

  • フォルダパスは正しいか?

よくある質問

Q. BOM付きUTF-8は?

schema.iniで65001指定すれば対応可能です。

Q. Excelで保存すると直りますか?

多くの場合、Shift-JISで保存し直せば解決します。

まとめ

AccessのCSV文字化けは、

  • 文字コードの違い

  • schema.ini未設定

が原因のほとんどです。

schema.iniを正しく設定すれば、
99%の文字化けは解消できます。

内部リンク