请耐心等待,因为我是 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 的人名),但仅作为下拉列表。
如何根据
txtFullName
中显示的 EID 将文本框 txtEID
的值设置为表格中的人名。我也不知道如何在 txtFullName
Control Source 属性中设置它。
这个问题已经困扰我 6 个小时了。非常感谢您的想法。
使用Control Source中的DLOOKUP来提取信息。
DLookUp("[Full_Name]","[Table1]","[EID]=" & [txtEID])
我将其包装在 IIF 语句中,因为如果表单上的 txtEID 控件为空,它会返回错误。
=IIf(IsNull([txtEID]),"",DLookUp("[Full_Name]","[Table1]","[EID]=" & [txtEID]))