从另一个导航子窗体导航后在导航子窗体中搜索记录

Search for record in navigation subform after navigating from another navigation subform

我有一个主窗体 (frmMain),上面有一个导航控件(navControl 和 navSubform)。在 navSubform 中显示了表单 frmList。用户在此列表中选择一条记录,然后单击跳转到详细信息,之后在 navSubform 中显示另一个名为 frmPlant 的表单。到目前为止,一切都很好。 接下来,我想使用 DoCmd.SearchForRecord 在 frmPlant 中跳转到正确的记录。不过我没能做到这一点:我的表单参考未知或未打开。

Private Sub GoToPlant()
    'store selected record ID
    SelectedPlantID = Forms!frmMain!NavSubform.Form!frmList.Form![PlantID]
    'jump to other navigation subform
    DoCmd.BrowseTo acBrowseToForm, "frmPlant", "frmMain.navSubform"
    'set focus to subform
    Forms!frmMain!NavSubform.SetFocus
    'search for record ????
    DoCmd.SearchForRecord acForm, "frmMain.navSubform", acGoTo, "[PlantID] = " & SelectedPlantID
End Sub

设置 SelectedPlantID 变量时出现语法错误。更改为:

SelectedPlantID = Forms!frmMain!NavSubform.Form![PlantID]

SearchForRecord 不起作用,因为 frmPlant 不是在 Forms 集合中独立打开的 - 它位于子窗体容器控件中。 FindRecord 将工作:

DoCmd.FindRecord SelectedPlantID, acAnywhere, , acSearchAll, , acAll