vba - 查找子窗体的父级
问题描述
我需要能够知道是什么在打开控件所在的对象。
我有一个刷新组合框的程序,但我永远不会知道组合框是位于窗体、子窗体还是另一个子窗体内(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。
解决方案
你甚至没有尝试?
VMainFormName = Me.Parent.Name
如果不是子表单,这当然会失败。因此,要么捕获该错误,要么循环Forms
集合以获得控件的形式。
推荐阅读
- android-fragments - 在android中向上导航时是否可以传递数据
- azure-sql-database - 在 Azure SQL 数据仓库中创建 BLOB_STORAGE 类型的外部数据源时出错
- reactjs - Formik 尝试验证不可见字段
- sql - postgres中级联删除的顺序
- c# - C# 单元测试偶尔失败
- xcode - SwiftUI 未编译 «The compiler is unable to type-check this expression...» 错误
- reactjs - 如何模拟导出默认值和对象的 npm 模块
- java - 与特定会话相关的客户端请求如何路由?
- laravel-passport - 如何从请求中获取 Laravel Passport oauth_client?
- c++ - 如何在 C++ 中将引用/指针与数学运算一起使用?