在MS Access中,我有一个名为"Table"
的表,其中包含三个字段。除了ID
字段之外,我还有一个名为"User"
的字段和一个名为"Email"
的字段。这两个字段均为"short text"
。该表有两行,第一行:User = Nobody
和Email = nobody@yahoo.com
。第二个:User = Somebody
和Email = 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 Environ(“ UserName”)
执行代码时,我得到一个带有"nobody@yahoo.com"
的消息框。
我要获取的是一个带有"somebody@aol.com"
的消息框。
我在做什么错了?
谢谢。
答案 0 :(得分:0)
尝试:
rs.FindFirst "[User] = '" & localUser & "'"
但是您可以使用 DLookup :
Dim localUser As String
localUser = Environ("UserName")
MsgBox Nz(DLookup("[Email]", "Table", "[User] = '" & localUser & "'"))