• ベストアンサー

多数のフィールドをSQLで書き込む方法?(VB08

VB2008にてアクセスMDBに対し、SQL文を使用し、特定のテーブルの1レコードへ多数の項目(フィールド)を書き込む際に効率的な方法はないでしょうか? 仮に100項目だとして、INSERT INTO文がとても長くなってしまう代わりに、処理を分散させるコーディング方法は何かないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

何故ながいSQLがダメなのか良くわからないけど、、、 (loop使ってSQL作れば簡単だと思うけど) ADO使って、新しいレコードを作って、フィールドを指定して値を格納していくことができたと思う。 http://msdn.microsoft.com/ja-jp/library/cc364089.aspx RST.ADDNEW RST.FIELDS(0) = HOGE0 RST.FILEDS(1) = HOGE1 ・・・ RST.UPDATE のようにできたと思う。 RST!FILEDS(0)・・・だったかもしれないけど、、、 ま、適宜、調べてください。

その他の回答 (2)

回答No.3

効率的かどうかは判らないが、仕事で同じような現象が出たときは(SQL文が長いとエラーになるみたい) INSERT文で半分の項目を登録し、 UPDATE文で残りの項目を登録しました。

回答No.1

「OPEN #1,~」でテキストファイルを作成し「PRINT #1,~」文で、カンマ付きで1行1レコードで書き出して「CLOSE #1」でファイルを閉じてから、「DoCmd.TransferText acImportDelim, ~~」文で既存テーブルに追加インポートするのが良いでしょう。

komorebi88
質問者

お礼

ご返答ありがとうございます。 テキストファイルを作成するというのは、実際に○○○.txt を一度作成するといった意味でしょうか?

関連するQ&A