• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセスのデータ取り込みについて)

アクセスデータ取り込み時の注意点とは?

このQ&Aのポイント
  • アクセスデータをUTF-8のテキスト形式で取り込む際に、NULLを含むレコードの処理に注意が必要です。
  • データのフィールド数がレコードごとに異なる場合、取り込む際にデータの一部が欠落する可能性があります。
  • 文字コードやフィールドのデータ型を指定する際に、フィールド数の不足に注意が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

UTF-8 で間違いはないのでしょうかね。 以下思いついたことです。 1・BOMの有無で読み込みが変わらないか。 2・Shift-JIS に変換してしまったら・・。 3・ADODB.Stream で読み込んだら。 http://d.hatena.ne.jp/replication/20091117/1258418243 4・Excelに一旦読み込ませたらどうなるか。 5・テキストファイルをそのままデータベースとして開いたら。 http://home.att.ne.jp/zeta/gen/excel/c04p47.htm そちらのAccessのバージョンが不明なので "Provider=Microsoft.Jet.OLEDB.4.0;" & は "Provider = "Microsoft.ACE.OLEDB.12.0;" かも知れない。 X・もしかしてファイルが壊れてる? そのファイルの製作元にShift-jis で出力できないか頼んでみる。 以上、ご参考まで。

yairi1106
質問者

お礼

アドバイスありがとうございます。 今回のテストした文字コードUTF8のテキストデータは ADODB.Streamを使用して入出力したデータのみ でした。 他の言語で入出力したデータに関しては 問題なく取り込めました。 とりあえず原因が分かっただけでも参考になりました。 BOMの有無で色々と検証してみます。 因みに文字コードに関しては ハングル文字を含んだUTF8形式のテキストになりますので Shift-jis戻すと、ハングル文字もしくは外字が 文字化けしてしまいます。 ですのでUTF8形式で、色々と原因を洗い出していきます。 どうもありがとうございました。

その他の回答 (1)

noname#259146
noname#259146
回答No.1

データ取り込み手順が不明なので回答できません。 とくに取り込みデータの形式がわかると回答ができると思います。 通常どこかの行の最終列に値があれば問題がないと思います。

yairi1106
質問者

補足

取り込み手順についてご説明いたします。 テキストデータ47フィールド(NULL含む) 1_アクセスのソフトを空のデータベースから立ち上げます。 2_外部データ→テキストファイル→ファイル名指定→OK 3_テキストインポートウィザード→設定→コードページをUTF8に指定→データ型をすべてテキスト型に指定 この時47フィールドあるのにインポート定義のフィールド名は42しかありません。 4_主キーを設定せずにその他はいじらず次へ→完了 この手順方法でなぜが47フィールドにデータが存在するのに 46フィールドまで取り込めています。 なにか分かりましたらアドバイスください。 よろしくお願いします。

関連するQ&A