将表单作为子表单打开

Posted

技术标签:

【中文标题】将表单作为子表单打开【英文标题】:Open a Form as a SubForm 【发布时间】:2016-06-14 09:01:29 【问题描述】:

在基于表单的 GUI 上,我尝试打开和关闭一些表单以进行计算。

我只想使用 Access 宏来执行此操作(以便非技术人员进行维护)。

问题不在于打开和关闭表单,我找到了一种方法:

Close Window
ObjectType
ObjectName
Save: With Confirmation

OpenForm
Form Name: destinationForm
Display
Filter Name
Where Condition
Data Mode
Window Mode: Standard

但是当表单是更大表单的一部分时(出于明确的原因,我将其称为 Layout),此宏会关闭主表单并将destinationForm 作为新表单打开。

我知道这种行为是完全正常的,但我还没有发现 marcos 关闭 subform 并打开其他的,或者更容易更改我的布局表单的子表单对象。

【问题讨论】:

我认为你需要 VBA 来完成这项工作。 IMO,有据可查的 VBA 代码比宏更容易阅读和维护。 【参考方案1】:

如果将SubForm 控件的SourceObject 设置为它,则在Access 中将表单作为子表单打开,并加载父表单。所以实际上没有打开关闭子表单这样的事情。 使用SetProperty Macro Action 设置子窗体的IsVisible property,或者设置为SourceObject Property。 您也可以使用Tab Control。

【讨论】:

以上是关于将表单作为子表单打开的主要内容,如果未能解决你的问题,请参考以下文章

获取子表单中选定行的ID

表单未作为活动窗口打开

从另一个表单刷新所有子表单

尝试使用基于子表单控件的 DoCmd.OpenForm 打开表单

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

重新查询或刷新无法更新打开表单上的子表单