質問: currentproject.connection rec.open "order_list", con, adopendynamic, adlockoptimistic open strfilepath for input as #fno 'ファイルの1行目の項目名部分を読み込む(何も処理しない) line input #fno, txtdata on error goto errhndl 'エラーが発生した場合にデータのインポートをなかったこと(ロールバック) 'にするためにトランザクション処理として実行 con.begintrans '実際のデータ部分(2行目)からの処理 do while not eof(fno) line input #fno, txtdata debug.print txtdata loop con.committrans close #fno msgbox ("処理が完了しました。") exit sub errhndl: close #fno con.rollbacktrans msgbox "以下のエラーが発生したためロールバックしました。" & vbcrlf & _ err.description, vbcritical ----------------------------------------------------------------------------------------
回答: オイラだったら、txtdataをカンマでスプリットして、フィールド指定のsqlを作ってcon.executeで実行するけど、、、 a as variant a=split(txtdata,",") insert into tablename fileds(注文日時,注文番号,購入者氏名,....) values (a(0),....) http://www.1keydata.com/jp/sql/sql-insert-into.php まあ、recordset 開いているなら rec.addnew rec!注文日時 = a(0) rec!注文番号 = a(1) ・・・・ rec.update みたいな、形でやるのもありかな。 若干遅いかもしれないけど、 http://www.happy2-island.com/access/gogo03/capter00208.shtml どちらにしても、a(n)はテキスト型なんで、正しいデリミターつけたり値を変換したりする作業は発生する。 こんなことやってみれば、aに何が入っているかわかるし、、、 for n = 0 to ubound(a)-1 debug.print a(n) next n