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

Posted

技术标签:

【中文标题】检查 Access 2010 导航子窗体是不是打开【英文标题】:Check if Access 2010 Navigation Subform is Open检查 Access 2010 导航子窗体是否打开 【发布时间】:2013-01-08 14:43:50 【问题描述】:

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

提前感谢您的任何建议!

Employment Screen

【问题讨论】:

【参考方案1】:

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

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

希望这会有所帮助, 布伦特

【讨论】:

谢谢,布伦特!导航表单似乎是一个奇怪的对象......我不确定如何引用特定的子表单。如果我使用这种语言'Forms!navMain!NavigationSubform.Form',那么它将始终显示已加载。但是,我需要知道显示的是哪个菜单,而不仅仅是导航表单是打开的。希望这是有道理的!【参考方案2】:

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

forms!mainform.asubformcontrol.sourceobject

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

forms!mainform.asubformcontrol.form.name

【讨论】:

那是票!我刚刚使用 Forms!navMain!MainMenu.SourceObject 检查了 sourceobject 谢谢!!

以上是关于检查 Access 2010 导航子窗体是不是打开的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 子窗体不显示记录且不导航

更新子窗体 Access 2010 时出错

使用导航子窗体上的控件访问查询参数

子表单在 MS Access 中的主表单之前打开

在 Access 2010 中重命名子窗体

MS Access = 引用子表单中的控件