我有一个主窗体(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
在设置SelectedPlantID变量时出现语法错误。改为。
SelectedPlantID = Forms!frmMain!NavSubform.Form![PlantID]
SearchForRecord不起作用,因为frmPlant不是在表单集合中独立打开的--它在子表单容器控件中。FindRecord可以工作。
DoCmd.FindRecord SelectedPlantID, acAnywhere, , acSearchAll, , acAll