如何从 Access VBA 中的表中提取值并根据另一个文本框中显示的唯一 ID 显示在文本框中?

问题描述 投票:0回答:1

请耐心等待,因为我是 Access VBA 的新手。

我在 Form2 中有一个名为

txtEID
的文本框,其
Employee ID
值是从另一个表单传递的。

我还有一个名为

txtFullName
的示例文本框,它应该使用表字段
tblEmployees
自动填充表
EmployeeName
中的人员姓名,其中
Form2.txtEID.value
等于
EID
tblEmployees

我不知道如何在文本框中进行自动填充,但在我的试用中,我在 ComboBox 中尝试了它,并在其 Rowsource 属性中使用了下面的这一行:

SELECT [tblEmployees].[ID], [tblEmployees].[EmployeeName] FROM tblEmployees WHERE [tblEmployees].[EID] = [txtEID]; 

它在组合框中显示所需的值(基于 txtEID 的 EID 的人名),但仅作为下拉列表。

image

如何根据

txtFullName
中显示的 EID 将文本框
txtEID
的值设置为表格中的人名。我也不知道如何在
txtFullName
Control Source 属性中设置它。

这个问题已经困扰我 6 个小时了。非常感谢您的想法。

vba ms-access textbox
1个回答
0
投票

使用Control Source中的DLOOKUP来提取信息。

DLookUp("[Full_Name]","[Table1]","[EID]=" & [txtEID])

我将其包装在 IIF 语句中,因为如果表单上的 txtEID 控件为空,它会返回错误。

=IIf(IsNull([txtEID]),"",DLookUp("[Full_Name]","[Table1]","[EID]=" & [txtEID]))

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.