- 締切済み
CSVからACCESSのフールドに取り込む方法
VBを使ってCSVからACCESSのフールドにデーターを取り込む方法を全般的に教えてもらいたいのですが。 <例> CSVファイル ⇒ Accessテーブル A,100 名前 数 ←フィールド A 100 初心者なので簡単なソースコードで教えてもらえれば ありがたいです。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- taseki
- ベストアンサー率66% (155/233)
> CSVを読み取り、値を変数に格納して > SQL文を発行する 一行ずつ読み取って各フィールドをそれぞれ変数に格納、というのを全行分ループする、ということでしょうか。 もうしそうなら、SQLを発行せずにループの中でそのまま Recordset.AddNew などする方法があります。 > NO.1の方法をもう少し調べて見ます。 > 参考サイトなどあればよろしくお願い致します。 ANo.1の方法はAccessのVBAから使う方法で、 DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名" と書くだけです。これは参考サイトというよりヘルプを見たほうが早いかと思います。
- taseki
- ベストアンサー率66% (155/233)
もしテキストドライバが使えるなら、 SELECT INTO テーブル名 FROM Connection文字列・テキストファイル で簡単に取り込めます。 あとはテキストをパースしながらループさせるなど。 繰り返しになりますが…、ANo.2の表現は誤解を招く書き方でした、すみません。 同じようなことができる、ということを言いたかったのでした。
お礼
いろいろとありがとうございます。 DBにはADOで接続しています。 出力されたCSVを読み取り、値を変数に格納して SQL文を発行する方法しかうまくいきません。 NO.1の方法をもう少し調べて見ます。 参考サイトなどあればよろしくお願い致します。
- taseki
- ベストアンサー率66% (155/233)
すみません、ANo.2の書き方は誤解を招きますね。 とりあえず、接続方法を教えてください。
- taseki
- ベストアンサー率66% (155/233)
TransferText はADOなどからも使えますよ。 DBへの接続は何を使っていますか?
- taseki
- ベストアンサー率66% (155/233)
DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名" とするだけです。 構文や引数の意味など詳細は、ヘルプを見たほうが早いと思います。
お礼
ありがとうございます。 Docmd...はVBでは使えないみたいです。 VBから操作したいのですが、なにか情報があれば よろしくお願いします。
お礼
わざわざSQL文発行しなくてRecordset.AddNew で、出来ました。 ありがとうございました。