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

3
我正在开发一个程序来跟踪客户信息,使用导航表单作为主菜单,始终保持打开状态。许多子窗体具有需要在输入/更改数据时重新查询的列表框,否则用户会认为他们没有更改记录集,我们最终会得到重复数据。我无法弄清楚在运行刷新之前如何检查导航表单的特定子窗体是否打开...它们都被称为“NavigationSubform”。因此,例如,如果我为客户添加新的工作安置,我想在“onclose”事件中重新查询此列表框,以确保他们拥有最新的信息。我可以这样做... Forms!navMain!NavigationSubform.Form.lstEmployment.Requery ... 但是如果用户在关闭表单之前更改了导航表单上的面板,则会出现问题。这经常发生:例如,当您输入工作安置信息时,客户中断并停止,并输入咨询注释,然后返回,使主菜单停留在“临床”目录中。有没有办法检查导航子窗体对象中是否加载了特定的子窗体?如果有必要,我已附上屏幕截图,希望能有所帮助。

提前感谢任何建议!!

就业筛选

2个回答

1

谢谢,Brent!导航表单似乎是一个奇怪的对象...我不确定如何引用特定的子表单。如果我使用这种语言 'Forms!navMain!NavigationSubform.Form',那么它将始终显示已加载。然而,我需要知道哪个菜单正在显示,而不仅仅是导航表单已打开。希望这样说得清楚! - NPO_Coder

0
您可以使用源对象属性来检查子窗体控件的内容,例如:
forms!mainform.asubformcontrol.sourceobject

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

forms!mainform.asubformcontrol.form.name

那就是答案!我刚刚使用Forms!navMain!MainMenu.SourceObject对比了源对象。谢谢!! - NPO_Coder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接