如何使用UserName Environ

时间:2019-05-17 13:24:26

标签: access-vba environment-variables

在MS Access中,我有一个名为"Table"的表,其中包含三个字段。除了ID字段之外,我还有一个名为"User"的字段和一个名为"Email"的字段。这两个字段均为"short text"。该表有两行,第一行:User = NobodyEmail = nobody@yahoo.com。第二个:User = SomebodyEmail = somebody@aol.com

我用以下代码创建了一个模块:

Sub Test()

Dim rs As Recordset
Dim localUser As String

localUser = Environ("UserName")
Set rs = CurrentDb.OpenRecordset("Table", dbOpenDynaset)

rs.FindFirst "[User] = 'localUser'"

MsgBox rs![Email]

End Sub

执行以下操作时,本地用户为"Somebody":MsgBox Env​​iron(“ UserName”)

执行代码时,我得到一个带有"nobody@yahoo.com"的消息框。

我要获取的是一个带有"somebody@aol.com"的消息框。

我在做什么错了?

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试:

rs.FindFirst "[User] = '" & localUser & "'"

但是您可以使用 DLookup

Dim localUser As String

localUser = Environ("UserName")
MsgBox Nz(DLookup("[Email]", "Table", "[User] = '" & localUser & "'"))