首页 > 解决方案 > 查找子窗体的父级

问题描述

我需要能够知道是什么在打开控件所在的对象。

我有一个刷新组合框的程序,但我永远不会知道组合框是位于窗体、子窗体还是另一个子窗体内(2 级子窗体)

现在,在打开表单时,我将该信息硬编码到一个隐藏控件并将它传递给一个过程,但我想知道是否有办法做这样的事情,而不是我硬编码。

它将是或者,取决于组合框所在的位置

    VMainForm = Me.Parent.Name
    VMainForm = Me.Name
    VMainForm = Me.Parent.Name '(? not even sure how to do this one,
'this would be where the combo is sitting inside another subform,
' so, there's Main!Subform1@Subform2)

更好的解决方案是获取子表单的完整路径。

所以,如果我在第二个子表单上,我会得到 mainform!subform1!subform2

如果我在子表单上,我会得到 mainform!subform1

如果我在main,我会得到mainform。

标签: vbams-access

解决方案


你甚至没有尝试?

VMainFormName = Me.Parent.Name

如果不是子表单,这当然会失败。因此,要么捕获该错误,要么循环Forms集合以获得控件的形式。


推荐阅读