在主窗体上搜索记录的子窗体

Subform to search record on main form

我有一个像这样的子表单:

当我单击 'select' 按钮时,我希望主窗体上的记录导航到适当的记录(拥有相同员工 ID 的记录)。

到目前为止我尝试的是当按下按钮时 运行 以下 vba:

Private Sub Command6_Click()
Dim rs As Object
Dim strLinkValue As String
strLinkValue = Forms![navigation form]![NavigationSubform]![teacher search qry subform]![Staff ID].Value
Set rs = Forms![navigation form]![NavigationSubform]![teacher search qry subform].Form.RecordsetClone
rs.FindFirst "[Staff ID] = '" & strLinkValue & "'"
Forms![navigation form]![NavigationSubform].Bookmark = rs.Bookmark
End Sub

但是当我这样做时,我得到 运行 时间错误 438(对象不支持此 属性 或方法)。

有什么想法吗?我觉得我把事情复杂化了。

您首先在这一行收到错误 438("Object doesn't support this property or method.")...

Set rs = Forms![navigation form]![NavigationSubform].Recordset.Clone

Recordset.Clone 更改为 Form.RecordsetClone 修复了错误(在该行)。

不幸的是,当您尝试在此行设置 Bookmark 时再次遇到错误 438 ...

Forms![navigation form]![NavigationSubform].Bookmark = rs.Bookmark

当时出错的原因是因为[NavigationSubform]是子窗体控件,控件没有Bookmark属性。您需要在该控件中包含的 Form 上设置 Bookmark

这段代码可以满足您的要求。我使用您的数据库副本在 Access 2010 中对其进行了测试。

Dim rs As DAO.Recordset
Dim strLinkValue As String

strLinkValue = Me![Staff ID].Value
With Me.Parent.Form
    Set rs = .RecordsetClone
    rs.FindFirst "[Staff ID] = '" & strLinkValue & "'"
    .Bookmark = rs.Bookmark
End With