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

如何在MS Access中隐藏可见控件?点击btnSave遇2165错误求助

解决Access运行时错误2165:无法隐藏拥有焦点的控件

错误原因

点击btnSave按钮时,该控件正处于获得焦点的状态,而Access不允许隐藏当前持有焦点的控件,因此触发Run-time error '2165'。

解决方案

核心思路是在隐藏btnSave之前,把焦点转移到其他可获得焦点的控件上,以下是几种可行实现方式:

方式1:转移焦点到现有控件

如果窗体上有其他可获得焦点的控件(比如文本框、组合框),直接将焦点移过去再隐藏按钮:

Private Sub btnSave_Click()
    ' 将焦点转移到窗体上的某个文本框(示例:txtName)
    Me.txtName.SetFocus
    
    ' 执行你的保存逻辑
    ....
    
    Me.Refresh
    Me.Repaint
    Me.btnSave.Visible = False
    Me.btnCancelSave.Visible = False
End Sub

方式2:转移焦点到窗体本身

如果没有合适的现有控件,可以直接将焦点移到窗体:

Private Sub btnSave_Click()
    ' 将焦点转移到窗体
    Me.SetFocus
    
    ' 执行你的保存逻辑
    ....
    
    Me.Refresh
    Me.Repaint
    Me.btnSave.Visible = False
    Me.btnCancelSave.Visible = False
End Sub

方式3:添加专用焦点转移控件

如果上述两种方式都不适用,可在窗体上添加一个极小尺寸的文本框(设置Width=0、Height=0,TabStop=True),专门用来转移焦点:

Private Sub btnSave_Click()
    ' 转移焦点到专用文本框(示例:txtFocusHolder)
    Me.txtFocusHolder.SetFocus
    
    ' 执行你的保存逻辑
    ....
    
    Me.Refresh
    Me.Repaint
    Me.btnSave.Visible = False
    Me.btnCancelSave.Visible = False
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:45:13