检查Access 2010导航子窗体是否已打开

时间:2013-01-08 14:43:50

标签: vba ms-access-2010

我正在开发一个程序来跟踪客户信息,该程序利用导航表格作为始终打开的主菜单。许多子表单都有列表框,需要在输入/更改数据时重新查询,或者用户倾向于认为他们没有更改记录集,我们最终会得到重复数据。在运行刷新之前,我无法弄清楚如何检查导航表单的特定子表单是否已打开...它们都被引用为“NavigationSubform”。因此,例如,如果我为客户添加新的职位空缺,我想在'onclose'事件中运行此列表框的重新查询,以确保它们具有最新信息。我可以做到......表单!navMain!NavigationSubform.Form.lstEmployment.Requery ...但如果用户在关闭表单之前更改了导航表单上的窗格,则会发生炸弹。这种情况发生了很多:例如,当您输入工作放置信息时,客户端会中断,您在返回之前停止并输入咨询说明,将主菜单保留在“临床”目录中。有没有办法检查导航子窗体对象中是否加载了特定的子窗体?我已经附加了一个屏幕截图,它有助于理解这一点。

提前感谢任何建议!!

Employment Screen

2 个答案:

答案 0 :(得分:1)

已经有一段时间但我相信你可以使用isLoaded方法来确定是否加载了子表单

http://msdn.microsoft.com/en-us/library/office/ff194656.aspx

希望这有帮助, 布伦特

答案 1 :(得分:0)

您可以使用源对象属性检查子窗体控件的内容,例如:

forms!mainform.asubformcontrol.sourceobject

您还可以从表单对象中获取表单的名称:

forms!mainform.asubformcontrol.form.name