Access2016でcsvデータをインポートした際、文字数が多いカラム情報を取り込んで255文字以上の場合に、256文字以降が切り擦れられた状態で登録されてしまう現象がよく起きます。
今回は255文字以上あるデータをインポートする方法をまとめたのでここにメモしておきます。
255文字以上のデータを取り込んだ場合
例えば以下のCSVデータを取り込むとします。
"ID","名前","年齢","性別","メモ"
"1","太郎","10","男","あいうえお"
"2","花子","15","女","ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああい@うえお"
"3","健司","35","男","TEST"
"4","美樹","22","女","テスト"
メモのカラムに「あああ ~ あああい@うえお」という255文字以上のフィールドがあります。
上記のデータをAccessで取り込むと以下のようなエラーが発生します。
CSVデータをインポートして「顧客情報」テーブルが作成されていますが、それが意外に「顧客情報_インポート エラー」というエラーテーブルも一緒に作成されています。
「顧客情報_インポート エラー」にはインポート時のエラー情報が登録されています。今回は「メモ」フィールドの値が255文字以上だったため、フィールドの切り捨てをされたことが記述されています。
実際のデータを見ていると「ああああい」のところまでした登録されていません。255文字以降が切り取られているのがわかるかと思います。
255文字以上のデータをインポートする方法
文字が切り捨てられている原因が、カラムのデータ型が「短いテキスト」で登録されていることです。
データ型を「長いテキスト」でインポートすることで解消されます。
まず、
メニューから[外部データ]->[テキスト ファイル]と選択してください。
取込対象のCSVファイルを指定します。
このとき、必ず「現在のデータバースの新しいテーブルにソース データをインポートする(I)」を選択してください。
「OK」ボタンをクリックしてください。
取込む予定のデータが文字化けしています。
この場合「設定」をクリックし、CSVファイルの文字コードを指定する必要があります。
今回UTF-8だったので、「コードページ」をUnicode(UTF-8)に選択して「OK」をクリックしてください。
画面が戻ったら、「次へ」をクリック。
今回のCSVファイルは1行目がカラム名なので「先頭行をフィールド名として使う」にチェックを入れます。
さらに「設定」ボタンをクリックしてください。
255文字を超えるカラムのデータ型を「長いテキスト」に変更してください。
「OK」をクリックし、そのまま取り込み処理を最後まですることで、255文字以上でデータでも正常にインポート処理することが可能です。
以上です。