如何设置导航窗体选项卡子窗体中命令按钮的Visible属性?
Access子窗体控件可见性设置解决办法
排查与修正步骤
修正控件引用路径
Access中子窗体的引用必须通过子窗体容器的Form属性才能访问内部控件,你之前的路径缺少关键的Form层级。如果frmSubNavigationForm是导航窗体里的子窗体容器,且frmSettings是tabSettings选项卡上的子窗体,正确路径应为:Forms!frmNavigationForm!frmSubNavigationForm.Form!tabSettings!frmSettings.Form!cmdOwner.Visible = False用相对引用简化代码
由于两个按钮同属frmSettings子窗体,直接在“隐藏所有者按钮”的点击事件中用相对引用更可靠,完全避免路径错误:Me.cmdOwner.Visible = False(
Me代表当前所在的frmSettings窗体,无需写完整路径)检查名称拼写与加载状态
- 确认
cmdOwner、tabSettings、frmSettings的名称与设计视图中完全一致,拼写错误会直接导致引用失败 - 如果
tabSettings选项卡未被激活过,子窗体frmSettings可能未加载,需先激活选项卡再设置:Forms!frmNavigationForm!frmSubNavigationForm.Form!tabSettings.Value = 0 ' 0为选项卡索引,根据实际顺序调整 Forms!frmNavigationForm!frmSubNavigationForm.Form!tabSettings!frmSettings.Form!cmdOwner.Visible = False
- 确认
测试技巧:在VBA编辑器中用
Debug.Print验证路径有效性,比如:Debug.Print Forms!frmNavigationForm!frmSubNavigationForm.Form!tabSettings!frmSettings.Form.Name若立即窗口输出
frmSettings,说明路径正确。
内容的提问来源于stack exchange,提问作者Mowaffak Bakkar
相关产品推荐
相关产品推荐

