「みんな教えて! 選手権!!」開催のお知らせ

UTF8のテキストデータを取り込みする際
データが10フィールドあるとします。

1レコード目の1フィールド目から9フィールド目までデータがあり、10フィールド目はNULL
2レコード目の1フィールド目から10フィールド目までデータがある場合
テキストデータ自体9フィールド目までしか取り込めない場合がございます。
こういったレコード終端がNULLの場合とNULLでない場合に取り込む際
注意することはありますでしょうか??
因みにデータを取り込む際、文字コードを指定しフィールドの
データ型を変更する際
存在するフィールドに比べアクセス上ではフィールド数が足らなくなるのですが・・・
どうぞよろしくお願いします。

A 回答 (2件)

UTF-8 で間違いはないのでしょうかね。


以下思いついたことです。
1・BOMの有無で読み込みが変わらないか。
2・Shift-JIS に変換してしまったら・・。
3・ADODB.Stream で読み込んだら。
http://d.hatena.ne.jp/replication/20091117/12584 …
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 で出力できないか頼んでみる。
以上、ご参考まで。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/08/24 08:24

データ取り込み手順が不明なので回答できません。


とくに取り込みデータの形式がわかると回答ができると思います。

通常どこかの行の最終列に値があれば問題がないと思います。

この回答への補足

取り込み手順についてご説明いたします。
テキストデータ47フィールド(NULL含む)

1_アクセスのソフトを空のデータベースから立ち上げます。
2_外部データ→テキストファイル→ファイル名指定→OK
3_テキストインポートウィザード→設定→コードページをUTF8に指定→データ型をすべてテキスト型に指定
この時47フィールドあるのにインポート定義のフィールド名は42しかありません。
4_主キーを設定せずにその他はいじらず次へ→完了

この手順方法でなぜが47フィールドにデータが存在するのに
46フィールドまで取り込めています。
なにか分かりましたらアドバイスください。
よろしくお願いします。

補足日時:2012/08/22 14:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報