AccessでCSVファイルをインポートする方法をお探しですね。

広告

AccessでCSVファイルをインポート・エクスポートする際の文字化け対策【完全版】

Microsoft AccessでCSVファイルを扱っていると、「日本語が謎の記号になってしまう…」という文字化けトラブルに悩まされることって本当に多いですよね。

この問題のほとんどは、ファイルに保存されている文字コード(UTF-8やShift-JISなど)とAccess側の設定が合っていないことが原因なんです。

この記事では、Accessの標準機能を使ってCSVファイルを正しくインポート・エクスポートする方法を、初心者の方にもわかりやすく解説していきます。

文字化けを防ぐためのUTF-8対応の設定方法や、よくあるエラーの解決策まで、丁寧にご紹介しますので、ぜひ最後まで読んでみてください。

きっと、文字化けやデータ移行の失敗に悩まされることなく、Accessでのデータ管理がスムーズにできるようになりますよ。

AccessでCSVファイルをインポートする基本手順と文字化け対策

Accessに外部のCSVデータを取り込むには、まず画面上部の「外部データ」タブから始めます。

「新しいデータソース」→「ファイルから」→「テキストファイル」の順にクリックすると、インポートウィザードという便利な案内画面が立ち上がります。

ここで注意したいのが、何も考えずに「次へ」ボタンを連打してしまわないこと。

Accessが勝手に文字コードを判断してくれるのですが、これが間違っていると文字化けの原因になってしまうんです。

特に最近のWebシステムからダウンロードしたCSVファイルは「UTF-8」という文字コードで作られていることが多いので、Access側できちんと指定してあげる必要があります。

基本的な流れはこんな感じです:

・「外部データ」タブから「新しいデータソース」を開く
・「テキストファイル」を選んで、読み込みたいCSVファイルを指定する
・ウィザード内で区切り文字や文字コードを正しく設定する

**ここが最重要ポイント!** インポートウィザードの画面左下にある「設定」ボタンを押すことが、文字化けを防ぐための最大のコツです。

「設定」ボタンをクリックすると詳細設定の画面が開いて、「文字コード」という項目が選べるようになります。

ここで「Unicode (UTF-8)」を選んで元の画面に戻ると、プレビュー画面に表示されていた謎の記号が、ちゃんとした日本語に直っているはずです。

プレビューで正常に日本語が表示されていれば、あとはカンマ区切りなどの設定を進めていけば大丈夫。

この「設定ボタンから文字コードを変える」というひと手間を知っているだけで、インポート作業がグッと楽になりますよ。

文字化け対策をクリアしたら、次は各列のデータ型と主キーの設定です。

データ型というのは、その列に入るデータが「文字」なのか「数字」なのか「日付」なのかを決める大事な設定。

ここを間違えると、後で計算ができなくなったり、インポート自体がエラーで止まってしまったりします。

また、「主キー」というのは、テーブルの各行を区別するための目印みたいなもの。

Accessに自動で設定してもらうこともできますし、社員番号のような既存の列を指定することもできます。

これらの設定をきちんと行って「完了」を押せば、文字化けのないきれいなテーブルがAccess内にできあがります。

AccessからCSVファイルをエクスポートする正しい方法

Access内に貯めたデータを他のシステムや担当者に渡すとき、CSV形式でのエクスポートはとても便利です。

エクスポートするには、まず対象のテーブルやクエリをナビゲーションウィンドウで選んだ状態にして、「外部データ」タブの「エクスポート」グループから「テキストファイル」をクリックします。

ファイル名と保存先を指定する画面が出てきますが、ここで「書式設定とレイアウトを保持したままデータをエクスポートする」のチェックは外しておくのがおすすめです。

チェックを入れると余計な空白が入ってしまうなど、純粋なデータだけを書き出したいときには不便なことが多いんです。

エクスポートウィザードを進めていくと、データの区切り文字(カンマやタブなど)を指定する画面になります。

ここでも、インポートのときと同じように文字コードの指定が必要です。

画面左下の「設定」ボタンをクリックして、詳細設定画面を開いてください。

初期設定では「システム(Shift-JIS)」が選ばれていることが多いのですが、データを渡す相手のシステムがUTF-8を使っている場合は、文字コードのリストから「Unicode (UTF-8)」を選びましょう。

この設定を忘れると、ファイルを受け取った相手側で文字化けが起きて、仕事が止まってしまう原因になります。

エクスポートが終わったら、すぐに出力されたCSVファイルを開いて中身を確認する癖をつけるといいですよ。

ただし、UTF-8で出力したCSVファイルをそのままExcelでダブルクリックして開くと、Excel側の仕様で文字化けして見えることがあるので注意が必要です。

正しくエクスポートできているか確認するには、Windowsの「メモ帳」で開くのが一番確実な方法です。

メモ帳で開いて日本語がちゃんと表示されていれば、AccessからのUTF-8エクスポートは完璧に成功しています。

確認手順はこんな感じ:

・出力されたCSVファイルを右クリック
・「プログラムから開く」→「メモ帳」を選ぶ
・文字化けや変な空白が入っていないか目で見てチェック

CSVの文字化けはなぜ起きる?UTF-8とShift-JISの違い

そもそも、どうしてこんなに文字化けが起きるのでしょうか?それを理解するには、「文字コード」という仕組みを知る必要があります。

文字コードというのは、コンピュータが文字を認識するための背番号みたいなものです。

長い間、日本のWindowsやAccessでは「Shift-JIS(シフトジス)」という日本独自の文字コードが標準として使われてきました。

そのため、古いバージョンのAccessは「テキストファイルといえばShift-JISでしょ」という前提で動くように作られているんです。

これが最近の環境とズレを生む根本的な原因になっています。

一方で、今のインターネットやクラウドシステム、スマホアプリなどで世界標準になっているのが「UTF-8」という文字コードです。

世界中の言語をまとめて扱えるので急速に広まったのですが、Accessの古い設計と衝突して「UTF-8のファイルをShift-JISのルールで読もうとする」という現象が起きてしまいます。

これが文字化けの正体なんですね。

さらにややこしいことに、UTF-8には「BOM付き」と「BOMなし」という細かい種類があって、システムによってはどちらか一方しか受け付けないこともあります。

データを渡す相手がいる場合は、事前に相手先の仕様をよく確認しておくことが大切です。

もしAccessの機能だけで文字化けが直らない場合や、設定変更に不安がある場合は、テキストエディタで前処理をするのも手です。

例えば、文字化けしそうなCSVファイルを先に「メモ帳」で開いて、「名前を付けて保存」を選びます。

保存画面の右下にある「エンコード」の欄を「UTF-8(BOM付き)」か「ANSI(Shift-JIS相当)」に変えて上書き保存するだけで、ファイル自体の文字コードを変換できます。

このひと手間を加えてからAccessに読み込ませれば、ウィザード内での複雑な設定をスキップして、確実かつ安全にデータを取り込むことができますよ。

インポート・エクスポート時によくあるエラーと解決策

AccessでCSVを扱うとき、文字化けと並んでよくあるのが「データ型の不一致(型変換エラー)」です。

これは例えば、Access側で「数値型」に設定した列に対して、CSVデータの中に「不明」みたいな文字が入っている場合に起きます。

インポート処理が途中で止まってしまったり、該当するデータだけが空白になってしまったりするので、けっこう厄介です。

これを防ぐには、インポート前にCSVデータをざっと見直して、変な文字が混ざっていないか確認するか、Accessのインポートウィザードでとりあえず全部の列を「短いテキスト型」として取り込んで、後からAccess内で加工や型変換をするというやり方が安全です。

データ型エラーを避けるための対策:

・インポート前に元データの不規則な入力(空白や文字の混入)を直しておく
・ウィザードで迷ったら、一旦すべての列を「短いテキスト型」で取り込む
・取り込み完了後に、Accessのクエリ機能を使って正しい型に変換する

もしインポート中にエラーが出てしまった場合、Accessは「〇〇_インポートエラー」という名前のテーブルを自動で作ってくれます。

このエラーテーブルは無視しちゃダメです!とても大事な手がかりなんです。

テーブルを開くと、どの行のどの列で、どんな理由でエラーが起きたのかが詳しく記録されています。

この情報をもとに元のCSVファイルの該当箇所をテキストエディタやExcelで修正して、もう一度インポートをやり直せば、データの欠損を防げます。

エラーが起きても慌てず、エラーテーブルを冷静に読み解くことがAccess上達の近道ですよ。

最後に、定期的に同じ形式のCSVファイルをインポート・エクスポートする作業がある場合は、「定義の保存」機能を使って作業を自動化・効率化しましょう。

ウィザードの最後の画面で「インポート操作の保存(またはエクスポート操作の保存)」にチェックを入れて名前を付けておくと、次回以降は「外部データ」タブの「保存済みのインポート操作」をクリックするだけで、文字コードの設定やデータ型の指定などを全部引き継いだ状態で一発実行できます。

手動での設定ミスによる文字化けやエラーを未然に防げて、毎日の定型業務にかかる時間を大幅に短縮できる、とても便利な機能です。

ぜひ活用してみてくださいね。

広告