4

次のコードを使用して、テーブルにレコードを追加しています。

Dim rs1 As DAO.Recordset
Set rs1 = CurrentDb.OpenRecordset("QUOTE-Run", dbOpenDynaset)

rs1.AddNew
rs1.Fields("[QuoteNumber]").value = [txtQuoteNumber].value
rs1.Fields("[LeadTime]").value = [txtLeadTime].value
rs1.Fields("[Qty]").value = [txtQty].value
rs1.Fields("[Title]").value = [txtTitle].value
rs1.Fields("[Date]").value = VBA.DateTime.Date
rs1.Fields("[Time]").value = VBA.DateTime.Time
rs1.Fields("[InitiatedBy]").value = Application.CurrentUser
rs1.Fields("[IncompleteProblemNotes]").value = [txtIncompleteProblemNotes].value
rs1.Fields("[CustomerNotes]").value = [txtCustomerNotes].value
rs1.Fields("[Memo]").value = [txtMemo].value
rs1.Fields("[Memo1]").value = [txtMemo1].value
rs1.Fields("[PrefferedQuoteRunSelect]").value = [txtPrefferedQuoteRunSelect].value
rs1.Fields("[CombinedRun]").value = [chkCombinedRun].value
rs1.Update

レコードを作成するとき、値を取得する RunID と呼ばれる AutoNumber プライマリ キー フィールドがあります。後でコードで使用できるように、その値が何であるかを知る必要があります。その値を取得する最も簡単な方法は何ですか?

4

2 に答える 2

3

RunID の値を取得する最も簡単な方法は、変数を宣言し、レコードを更新する前にその変数をフィールドに等しく設定することです。このようなもの:

   Dim rs1 As DAO.Recordset
   Set rs1 = CurrentDb.OpenRecordset("QUOTE-Run", dbOpenDynaset)
   Dim TempRunID As Long

   rs1.AddNew
   rs1.Fields("[QuoteNumber]").value = [txtQuoteNumber].value
   rs1.Fields("[LeadTime]").value = [txtLeadTime].value
   rs1.Fields("[Qty]").value = [txtQty].value
   rs1.Fields("[Title]").value = [txtTitle].value
   rs1.Fields("[Date]").value = VBA.DateTime.Date
   rs1.Fields("[Time]").value = VBA.DateTime.Time
   rs1.Fields("[InitiatedBy]").value = Application.CurrentUser
   rs1.Fields("[IncompleteProblemNotes]").value = [txtIncompleteProblemNotes].value
   rs1.Fields("[CustomerNotes]").value = [txtCustomerNotes].value
   rs1.Fields("[Memo]").value = [txtMemo].value
   rs1.Fields("[Memo1]").value = [txtMemo1].value
   rs1.Fields("[PrefferedQuoteRunSelect]").value = [txtPrefferedQuoteRunSelect].value
   rs1.Fields("[CombinedRun]").value = [chkCombinedRun].value

   TempRunID = rs1.Fields("[RunID]").value
   rs1.Update
于 2012-04-23T19:03:50.790 に答える
1

関数を使用する 2 番目のクエリを実行できます。

SELECT LAST_INSERT_ID();
于 2012-04-23T19:22:37.443 に答える