2017-05-25 4 views
0

Ich habe ein paar Funktionen erstellt, um die Berechtigungsstufe eines Benutzers in MS Access zu bestimmen. Ich habe eine Tabelle namens tblEmployees, die die folgenden Felder enthält: (Vorname, Nachname, E-Mail, Rolle, Login, PermissionLevel).MS Zugriff VBA DLookup Funktion Fehler

Ich habe diese Funktion geschaffen, um die „Login“ (das funktioniert gut jedes Mal), um zu bestimmen:

Option Compare Database Public intPermissionLevel As Integer 

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

Ich habe dann diese Funktion erstellt die Berechtigungsstufe mit dem Wert für die „Login“ geliefert Nachschlag Feld durch die Funktion getUserName oben. Der richtige Wert wird in die Funktion "LookupPermissionLevel" übergeben, jedoch bekomme ich jedes Mal den folgenden Fehler. (Ct627 ist mein Benutzername und es ist in den tblPersonal enthalten)

„Der Ausdruck, den Sie als Abfrageparameter eingegeben diesen Fehler erzeugt hat:‚ct627‘“

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

End Function 
+1

hinzufügen eine andere ' '' nach GetUserName –

+0

Ich habe versucht, einen Apostroph vor getUserName Zugabe nach getUserName und sowohl vor als auch nach getUserName. Ich habe auch alle Kombinationen mit Anführungszeichen ausprobiert. Keine von diesen hat funktioniert. – Chuck0185

Antwort

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

fügen Sie ein weiteres 'vor getusername ;-) – PhilS

+0

Ich habe versucht, ein einzelnes Zitat vor getUserName, nach getUserName und vor und nach getUserName. Ich habe auch alle Kombinationen mit Anführungszeichen ausprobiert. Keine von diesen hat funktioniert. – Chuck0185

0

Ich glaube, Sie waren wirklich beide richtig. Vielen Dank! Das war, was ich tun musste:

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