从另一个导航子表格导航后,在导航子表格中搜索记录。

问题描述 投票:0回答:1

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

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
ms-access ms-access-2016
1个回答
0
投票

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

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

SearchForRecord不起作用,因为frmPlant不是在表单集合中独立打开的--它在子表单容器控件中。FindRecord可以工作。

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

© www.soinside.com 2019 - 2024. All rights reserved.