这是我的第一个数据库项目,请耐心等待。
我目前正在尝试设计一个数据库,我必须在该数据库中创建一个表单,该表单在需要时必须由不同的员工填写。同一位员工可以多次填写该表格。我目前有
表1 - 该表具有在直接填充该表的表单中输入的所有详细信息。
表2 - 该表包含所有员工的姓名,电子邮件和员工ID。
在我的表单中,我使用了代码通过Windows用户名自动填写员工ID(表格仅由公司员工填写,并且他们的Windows登录名是他们的员工ID)。我想通过使用表2中的相应数据检查检测到的员工ID来自动填写他们的姓名和电子邮件。
我已经尝试使用组合框(或者可能我没有正确使用它们),但是我不希望有下拉列表。我希望将检测到的员工ID与表2中的相应数据进行核对(表2中已经包含员工ID,姓名和电子邮件)
是否可以在不涉及下拉列表的情况下做到这一点?
谢谢。
答案 0 :(得分:1)
您可以使用Recordset这样
Sub FindEmployee
Dim RST As DAO.Recordset, EmployeeID As Long
' You said you have code to get ID:
EmployeeID = YourIDFunction()
' Create recordset with query to your Table2
Set RST = CurrentDb.OpenRecordset("SELECT [Name], [Email] " _
& " FROM Table2 WHERE EmployeeID = " & EmployeeID, dbOpenSnapshot)
If RST.RecordCount > 0 Then
' Fill fields on your form with data from recordset:
Me.NameField = RST(0)
Me.EmailField = RST(1)
Else
' Nothing is found
End If
' Close and destroy recordset:
RST.Close
Set RST = Nothing
End Sub