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

如何获取MS Access表单中运行函数的文本框名称?

实现Access表单文本框自显示名称的方法

方案1:绑定通用函数实现实时自引用

  • 先创建一个VBA通用函数,用来接收控件对象并返回它的名称:
Function ShowOwnName(ctl As Control) As String
    ShowOwnName = ctl.Name
End Function
  • 打开表单设计视图,选中目标文本框,把它的控件来源属性设置为 =ShowOwnName([Name])。这里的[Name]就是文本框自身的名称属性,作为参数传给函数,每个文本框都会返回自己的名字。

方案2:表单加载时批量赋值

如果不需要实时绑定(比如只是初始化显示),可以用表单加载事件一次性处理所有文本框:

Private Sub Form_Load()
    Dim ctl As Control
    ' 遍历表单所有控件
    For Each ctl In Me.Controls
        ' 判断是否为文本框
        If ctl.ControlType = acTextBox Then
            ' 把值设为自身名称
            ctl.Value = ctl.Name
        End If
    Next ctl
End Sub

为什么Me.ActiveControl.Name会失效?

ActiveControl代表的是当前获得焦点的控件,不管哪个文本框用这个表达式,都会返回当前焦点控件的名字,而不是自身的,所以才会出现所有文本框值相同的情况。

内容的提问来源于stack exchange,提问作者L'le Tom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:10:52