MS Access VBA DLookup功能错误

时间:2017-05-25 15:11:33

标签: vba ms-access access-vba ms-access-2016

我创建了几个函数来确定MS Access中用户的权限级别。我有一个名为tblEmployees的表,其中包含以下字段:(FirstName,LastName,Email,Role,Login,PermissionLevel)。

我已创建此功能以确定"登录" (每次都很好):

Option Compare Database Public intPermissionLevel As Integer

Public Function getUserName() As String  
     getUserName = Environ("USERNAME") 
End Function

然后我创建了这个函数,使用为" Login"提供的值来查找权限级别。上面的getUserName函数的字段。正确的值被传递到" LookupPermissionLevel"功能,但每次都会出现以下错误。 (ct627是我的用户名,它包含在tblEmployees中)

"您作为查询参数输入的表达式产生了此错误:' ct627'"

Public Function LookUpPermissionLevel(getUserName As String) As Integer        
      intPermissionLevel = DLookup("PermissionLevel", "tblEmployees", "Login =" & getUserName)

End Function

2 个答案:

答案 0 :(得分:1)

Public Function LookUpPermissionLevel(getUserName As String) As Integer        
      intPermissionLevel = DLookup("PermissionLevel", "tblEmployees", "Login ='" & getUserName & "'")
LookUpPermissionLevel=intPermissionLevel
End Function

答案 1 :(得分:0)

我认为你其实都是正确的。谢谢!这就是我需要做的事情:

intPermissionLevel = DLookup("[PermissionLevel]", "tblEmployees", "[Login]='" & getUserName & "'")