- ベストアンサー
多数のフィールドをSQLで書き込む方法?(VB08
VB2008にてアクセスMDBに対し、SQL文を使用し、特定のテーブルの1レコードへ多数の項目(フィールド)を書き込む際に効率的な方法はないでしょうか? 仮に100項目だとして、INSERT INTO文がとても長くなってしまう代わりに、処理を分散させるコーディング方法は何かないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
何故ながい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)
- Hayashi_Trek
- ベストアンサー率44% (366/818)
回答No.3
効率的かどうかは判らないが、仕事で同じような現象が出たときは(SQL文が長いとエラーになるみたい) INSERT文で半分の項目を登録し、 UPDATE文で残りの項目を登録しました。
- chie65536(@chie65535)
- ベストアンサー率44% (8742/19841)
回答No.1
「OPEN #1,~」でテキストファイルを作成し「PRINT #1,~」文で、カンマ付きで1行1レコードで書き出して「CLOSE #1」でファイルを閉じてから、「DoCmd.TransferText acImportDelim, ~~」文で既存テーブルに追加インポートするのが良いでしょう。
お礼
ご返答ありがとうございます。 テキストファイルを作成するというのは、実際に○○○.txt を一度作成するといった意味でしょうか?