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

如何在Access中根据txtEID的唯一ID自动填充txtFullName文本框

Access窗体自动填充员工姓名的解决方法

方法一:直接设置txtFullName的控件源

你不需要给txtFullName绑定表字段,直接把它的Control Source属性设置为以下表达式即可实现自动填充:

=DLookup("EmployeeName", "tblEmployees", "EID = [txtEID]")

这个表达式会从tblEmployees表中,找到EID字段值等于当前窗体txtEID文本框值的记录,并返回对应的EmployeeName内容。只要txtEID的值发生变化,txtFullName会自动更新显示匹配的姓名。

如果需要处理txtEID为空或无匹配结果的情况,可以用Nz函数添加默认提示:

=Nz(DLookup("EmployeeName", "tblEmployees", "EID = [txtEID]"), "未找到对应员工")

方法二:用VBA事件触发更新(适合复杂逻辑场景)

如果需要更灵活的控制(比如额外的校验逻辑),可以在txtEID的AfterUpdate事件中编写VBA代码:

  1. 打开窗体设计视图,右键点击txtEID文本框,选择「事件生成器」
  2. 选择「代码生成器」,输入以下代码:
Private Sub txtEID_AfterUpdate()
    ' 若EID是文本类型,需要加单引号;数字类型则去掉单引号
    Me.txtFullName = DLookup("EmployeeName", "tblEmployees", "EID = '" & Me.txtEID & "'")
    
    ' 处理无匹配的情况
    If IsNull(Me.txtFullName) Then
        Me.txtFullName = "未找到对应员工"
    End If
End Sub

注意事项

  • 确保txtEID的数据类型和tblEmployees表中EID字段的类型完全一致(比如都是文本或数字),否则会出现匹配失败的情况
  • 如果EID是数字类型,上述代码中的单引号需要去掉,改为:"EID = " & Me.txtEID

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 07:02:34