さて、このエラーについてオンラインで何も見つからないので、ここに行きます.
Access 2003 を使用しています。コンボ ボックスのドロップダウンがあるフォームがあります。ユーザーがドロップダウンから選択すると、VBA コードが特定のテーブルを調べて、データが既に存在するかどうかを確認します。見つかった場合は、レコードに関連付けられたデータが表示されます。見つからない場合は、テーブルに新しいレコードを追加し、新しいデータを表示しようとします。問題は、次のコードを使用すると、Me.Requery を追加しない限り、新しいデータが表示されないことです。ただし、それを行うと、同じプロセスを再度実行しようとすると、上記のエラーが発生します。
では、上記のエラーなしで追加した後にデータを表示するにはどうすればよいですか?
ここに関連するコードがあります...
' Find the record that matches the control.
Dim rs As DAO.Recordset
Set rs = Me.Recordset.Clone
'if no record found, then add a default record
If IsNull(Combo119) Then
Set rs = CurrentDb.OpenRecordset("SELECT * FROM [Master Reject Data]")
rs.AddNew
rs.Fields("production Date") = Date
rs.Fields("Work Order #") = Combo119.Column(0)
rs.Fields("Product Type") = ""
rs.Fields("Shift") = ""
rs.Fields("Line") = ""
rs.Fields("# Produced") = 0
rs.Fields("Reject Type") = ""
rs.Fields("Reject Quantity") = 0
rs.Fields("Reject Category") = "Rejection"
Dim tRec As Long
tRec = Combo142.ItemData(0)
rs.Fields("Report Number") = tRec
rs.Update
Me.Requery 'this is the line I added to try to get the data to appear
Set rs = Me.Recordset.Clone
rs.FindFirst "[Report Number] = " & tRec 'navigate to the newly added record
Else
rs.FindFirst "[Report Number] = " & Nz(Me![Combo119], 0) 'navigate to the record with the requested report number
End If
If Not rs.EOF Then Me.Bookmark = rs.Bookmark