You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

子窗体Tab控件隐藏失败求助:On Click事件执行报错

解决Access子窗体Tab页隐藏报错的方案

核心问题:控件引用路径错误

主窗体中直接用Page16.Visible = False能生效,是因为代码运行在主窗体上下文,可直接访问当前窗体的Tab页。但子窗体的控件属于子窗体的Form对象,必须通过主窗体→子窗体控件→子窗体Form对象→Tab控件→Tab页的完整路径引用,否则会因找不到对象触发报错。

具体解决步骤

1. 确认关键控件名称

  • 打开窗体设计视图,查看主窗体上承载子窗体的控件名称(不是子窗体本身的名称,是主窗体上的容器控件名)
  • 查看子窗体中Tab控件的名称(比如默认TabCtl0,或你自定义的名称)
  • 确认要隐藏的Tab页的名称或索引(索引从0开始计数)

2. 使用正确的引用代码

根据场景选择对应写法:

场景1:主窗体的命令按钮触发隐藏

假设主窗体上的子窗体控件名为SubFormContainer,子窗体中的Tab控件名为MainTabCtl,要隐藏的Tab页名为SubPage2,代码如下:

Me.SubFormContainer.Form.MainTabCtl.Pages("SubPage2").Visible = False

如果用索引(比如第2个Tab页,索引为1):

Me.SubFormContainer.Form.MainTabCtl.Pages(1).Visible = False

场景2:子窗体内部的命令按钮触发隐藏

直接在子窗体的按钮事件中引用自身控件即可:

Me.MainTabCtl.Pages("SubPage2").Visible = False

3. 排查常见坑点

  • 别混淆子窗体控件名和子窗体对象名:必须用主窗体上的容器控件名来访问内部的Form对象
  • 检查名称拼写:设计视图右键控件→属性,确认Tab控件、Tab页、子窗体容器的名称无拼写或大小写错误
  • 确保代码写在正确的事件中:主窗体按钮的代码要放在主窗体的模块里,子窗体按钮的代码放在子窗体模块里

内容的提问来源于stack exchange,提问作者Dennis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:13:11