【问题标题】: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

【问题讨论】:

    标签: vba ms-access-2010


    【解决方案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 谢谢!!
    猜你喜欢
    • 2018-11-06
    • 2023-03-23
    • 2015-06-27
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    相关资源
    最近更新 更多