[MS Access] CSVのインポート

DoCmd.TransferTextを使って,CSVファイルを任意のテーブルにインポートしています.
インポート先のテーブルの列数はCSVの列数よりも多く,任意の列を指定しないといけません.
CSVのタイトル行なしで,さらにSchema.ini無しでインポート実現できないでしょうか?

今は,やり方がわからないので,CSVにタイトル行を付けて,Access側と合わせていますが,少し不本意です.
なおDoCmd.TransferTextを使うことを回答の条件にさせてください.

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2007/04/23 03:20:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kn1967 No.1

回答回数2915ベストアンサー獲得回数301

ポイント27pt

CSV内でのデータの並びが常に一定であるとすればの話ですが、

その並びに対応したテーブルを別途用意して、

(1)インポート用テーブルにインポート

(2)インポートした内容を確認

(3)正規のテーブルにINSERT(あるいはUPDATE)

(4)インポートした内容と正規のテーブルの内容を照合

という形がよろしいかと思いますよ。


(2)や(4)は不要であれば飛ばしても構いませんが「Nullになっている項目が無いか?」とか「数値が入っていない項目が無いか?」などの簡単なチェックはやっておくことをお勧めします。

id:hallo21 No.2

回答回数246ベストアンサー獲得回数2

id:Ficus_palmeri

つまり言わんとするところは?

2007/04/19 01:02:39
id:mj99 No.3

回答回数138ベストアンサー獲得回数38

ポイント26pt

http://www.mahoutsukaino.com/ac/ac97/basic/gaibu4.htm

上記ページを参考に「インポート定義」を「保存」してください。(最後のところにフィールド名の設定方法と保存方法が書かれています)

DoCmd.TransferTextの2番目の引数に「インポート定義」の名前を指定すれば一発でインポートできます。

id:Ficus_palmeri

こんなやり方もあるのですね.

でも結局はschema.iniを作成しているのではないでしょうか?

面白いですね.

ランタイムを作ったときに連動してくれるのかどうか心配ではありますが.

2007/04/20 01:48:03
  • id:mj99
    >でも結局はschema.iniを作成しているのではないでしょうか?
    >ランタイムを作ったときに連動してくれるのかどうか心配ではありますが.

    MDBに保存されますよ。MDBを持ち運んでもOK
  • id:Ficus_palmeri
    > MDBに保存されますよ。MDBを持ち運んでもOK

    すばらしい.

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません