【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

質問させていただきます。
フォーム(帳票)上の複数レコードを「コマンドボタン」をクリックしたときにテーブルに書き込みたいのですが・・・以下のようなコード(一部省略)では1件目しか書き込みできません。繰り返しフォーム上の最後のレコードまで書き込むにはどうすれば良いでしょうか?ご教授願います。

RST.AddNew

RST!計上日付 = Me![計上日付]
RST!原料コード = Me![原料コード]
RST!入庫数 = Me![発注数]
RST!単価 = Me![単価]
RST!金額 = Me![金額]
RST!消費税 = Me![消費税]
RST!LotNo = Me![LotNo]

RST.Update

MsgBox "処理が終了しました。", vbInformation

A 回答 (2件)

「フォーム(帳票)上の複数レコード」ということは、既にテーブルにデータが入っているんですよね?


追加クエリーにした方が簡単だと思いますよ。

あえてやるなら
DoCmd.RunCommand acCmdRecordsGoToFirst
Do Until Me.NewRecord
  DoCmd.RunCommand acCmdRecordsGoToNext
  With RST
    .AddNew
    ...
    .Update
  End With
Loop
という感じでしょうか。

この回答への補足

回答ありがとうございました。
上記のようにして実行したところ・・・
・2件目以降のデータは書き込まれるが、1件目が書き込まれません。
・「コマンドまたはアクション ’次のレコードへ’は無効です」が出ます。

引き続き調べてやってみます。

補足日時:2004/02/27 09:05
    • good
    • 0

申し訳ないです。

間違えました。

DoCmd.RunCommand acCmdRecordsGoToFirst
Do Until Me.NewRecord
  With RST
    .AddNew
    ...
    .Update
  End With
  DoCmd.RunCommand acCmdRecordsGoToNext
Loop

としてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
できました。感謝いたします。

お礼日時:2004/02/27 16:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!