目次
エラーの背景や条件
以下の環境とデータ、条件でAccessのテーブルにCSVインポートをした際に「インデックスが有効範囲にありません」エラーが発生して取り込めませんでした。
環境
- Access2019
- CSV形式テキストを既存テーブルにインポート
- 文字コード:UTF-8(BOM付)
エラー内容
既存のテーブル(空のテーブル)に、インポートウィザードからインポートすると、エラーが発生してインポートできない
エラー解消:インポート時に文字コードを指定する
Accessのテキストインポートの基本文字コードは「Shift_JIS」です。
インポートテキストが「UTF-8」であるため、エラーが発生しているようです。
したがって、インポート時の文字コードを「UTF-8」に変更します。
「テキストインポートウィザード」で「設定」をクリックし、「コードページ」から「Unicode(UTF-8)」を選択します。
ウィザードを進めればインポート完了です。
ただし、ウィザードがいくつか画面遷移しますが、その変更するタイミングによって、成功したり成功しなかったりするケースがありました。
今回の場合、「フィールドの区切り記号とテキスト区切り記号」を指定する画面で設定変更したら成功しました。
Accessはもしかしたら、「Shift_JIS」以外の文字コードを処理するのが弱いのかもしれません。
インポートするテキスト自体を「Shift_JIS」に変換しておけば、あまり面倒がないかもしれませんが、他の文字コードを使用しなければならない場合は、文字コードの変更をする必要があります。