如何根据在访问权限中输入的员工ID自动填写表格?

时间:2019-06-10 20:03:04

标签: sql database forms ms-access autofill

这是我的第一个数据库项目,请耐心等待。

我目前正在尝试设计一个数据库,我必须在该数据库中创建一个表单,该表单在需要时必须由不同的员工填写。同一位员工可以多次填写该表格。我目前有

表1 - 该表具有在直接填充该表的表单中输入的所有详细信息。

表2 - 该表包含所有员工的姓名,电子邮件和员工ID。

在我的表单中,我使用了代码通过Windows用户名自动填写员工ID(表格仅由公司员工填写,并且他们的Windows登录名是他们的员工ID)。我想通过使用表2中的相应数据检查检测到的员工ID来自动填写他们的姓名和电子邮件。

我已经尝试使用组合框(或者可能我没有正确使用它们),但是我不希望有下拉列表。我希望将检测到的员工ID与表2中的相应数据进行核对(表2中已经包含员工ID,姓名和电子邮件)

是否可以在不涉及下拉列表的情况下做到这一点?

谢谢。

1 个答案:

答案 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

相关问题