2017-05-25 167 views
0

我已經創建了幾個功能,以確定在MS Access用戶的權限級別。我有一個包含以下字段的表稱爲tblEmployees:(名字,姓氏,電子郵件,角色,登錄,PermissionLevel)。的MS Access VBA查閱函數錯誤

我創造了這個功能,確定了「登錄」(每次都正常工作):

Option Compare Database Public intPermissionLevel As Integer 

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

我已經然後創建了這個功能來查找使用「登錄」提供的值的權限級別字段由上面的getUserName函數。正確的值傳遞到「LookupPermissionLevel」功能,但是我每次收到下面的錯誤。 (ct627是我的用戶名,它是包含在tblEmployees)

「您所輸入的查詢參數的表達產生這樣的錯誤:‘ct627’」

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

End Function 
+1

再添'''getusername –

+0

後,我試圖getUserName前添加一個單引號,getUserName後和之前和之後getUserName。我也用雙引號嘗試過所有組合。這些都沒有奏效。 – Chuck0185

回答

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

再添「getusername之前;-) – PhilS

+0

我試着getUserName前添加一個單引號,getUserName後和之前和之後getUserName。我也用雙引號嘗試過所有組合。這些都沒有奏效。 – Chuck0185

0

我想你實際上是都是正確的。謝謝!這正是我需要做的:

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