DoCmd.TransferTextを使って,CSVファイルを任意のテーブルにインポートしています.
インポート先のテーブルの列数はCSVの列数よりも多く,任意の列を指定しないといけません.
CSVのタイトル行なしで,さらにSchema.ini無しでインポート実現できないでしょうか?
今は,やり方がわからないので,CSVにタイトル行を付けて,Access側と合わせていますが,少し不本意です.
なおDoCmd.TransferTextを使うことを回答の条件にさせてください.
CSV内でのデータの並びが常に一定であるとすればの話ですが、
その並びに対応したテーブルを別途用意して、
(1)インポート用テーブルにインポート
(2)インポートした内容を確認
(3)正規のテーブルにINSERT(あるいはUPDATE)
(4)インポートした内容と正規のテーブルの内容を照合
という形がよろしいかと思いますよ。
(2)や(4)は不要であれば飛ばしても構いませんが「Nullになっている項目が無いか?」とか「数値が入っていない項目が無いか?」などの簡単なチェックはやっておくことをお勧めします。
http://www.mahoutsukaino.com/ac/ac97/basic/gaibu4.htm
上記ページを参考に「インポート定義」を「保存」してください。(最後のところにフィールド名の設定方法と保存方法が書かれています)
DoCmd.TransferTextの2番目の引数に「インポート定義」の名前を指定すれば一発でインポートできます。
こんなやり方もあるのですね.
でも結局はschema.iniを作成しているのではないでしょうか?
面白いですね.
ランタイムを作ったときに連動してくれるのかどうか心配ではありますが.
つまり言わんとするところは?