我在访问中创建了一个弹出表单,用于搜索记录并在主条目表单上转到它。弹出的“查找”表单有一个列表框,其中包含主条目表单中的所有记录,该列表框的第一列是主条目表单上的 ID。这是列表框上的隐藏列。
用户可以在未绑定的文本框中输入一些内容,这将过滤列表框,然后一旦他们看到他们想要的记录,他们应该能够双击列表框的一行,并且应该将他们带到该记录主条目表格。我收到一个错误,不知道为什么。
这是双击列表框的代码:
Private Sub lstRecords_DblClick(Cancel As Integer)
Dim rs As DAO.Recordset
Set rs = Forms!frmMainEntry.Form.RecordsetClone
rs.MoveFirst
rs.FindFirst "[ID] = " & Forms!frmFindRecords.lstRecords.Column(0)
If Not (rs.BOF And rs.EOF) Then
'Display the found record in the form.
Forms!frmMainEntry.Form.Bookmark = rs.Bookmark
Forms!frmMainEntry.Form.cboJumpToRecord = Forms!frmFindRecords.lstRecords.Column(0)
Forms!frmMainEntry.Form.cboJumpToRecord.Requery
cmdClose_Click
Else
MsgBox "Weird, I can't find that record. Tell Someone!"
End If
Set rs = Nothing
End Sub
当我尝试选择某些内容时,我收到以下错误:运行时错误“2473”:您作为事件属性设置输入的表达式 |2 产生了以下错误:|1。
它突出显示了上述代码的这一行:
Forms!frmMainEntry.Form.Bookmark = rs.Bookmark
就像它不保留其他形式的记录集一样。我可以看到主表单看起来像是短暂地转到了该记录,但是我认为该表单正在检查/重置它的记录集,当它转到它时,因为它必须检查一个切换按钮,该按钮将过滤器的状态设置为那个表格。
我不知道如何绕过它。有什么想法吗?
谢谢!