アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問させていただきます。
帳票形式フォームの反復しているレコードをコマンドボタンのクリックでテーブルに書き込みたいので今朝からいろいろ試しているのですが、以下のコードを書いてみました(一部省略)。

DoCmd.RunCommand acCmdRecordsGoToFirst
Do Until Me.NewRecord
DoCmd.RunCommand acCmdRecordsGoToNext
With RST
RST.AddNew
RST!日付 = Me![日付]
RST!原料コード = Me![原料コード]
RST!入庫数 = Me![発注数]
RST!単価 = Me![単価]
RST!金額 = Me![金額]
RST!消費税 = Me![消費税]
.Update
End With
Loop

結果は・・・テーブルには2行目から書き込まれる。「コマンドまたはアクション’次のレコードへ’は無効です」が出る。
どうすればエラーも出ず、フォーム上のすべてのデータが書き込めるでしょうか?

A 回答 (1件)

こんにちは。

maruru01です。

とりあえず、
>帳票形式フォームの反復しているレコード
とは何かが不明ですが、やりたいのは、フォームのレコードソースのテーブルのデータを他のテーブルへコピーしたいということでしょうか?
それなら、いちいちフォームで移動する必要はないと思います。
レコード追加のSQL文を書いて実行すればいいのでは?
データを書き込むテーブルを[テーブルA]、フォームのレコードソースのテーブルを[テーブルB]とすると、


Dim strSQL As String

strSQL = "INSERT INTO テーブルA (日付, 原料コード, 入庫数, 単価, 金額, 消費税) " & _
   "SELECT 日付, 原料コード, 発注数, 単価, 金額, 消費税 FROM テーブルB"
DoCmd.RunSQL strSQL
    • good
    • 0
この回答へのお礼

回答いただきありがとうございます。
参考にさせていただきます。

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

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