Hallo,
in einem Anmeldeformular soll ein Benutzer seinen Benutzernamen auswählen und sein Passwort eintragen, das dann mit den Daten in der Tabelle tblBenutzer verglichen wird, mit ensprechender Rückmeldung. Mit If funktioniert das Ganze, mit Select Case nicht, da erhalte ich, wenn im Feld txtPAsswort nichts eingetragen wird, die Meldung "Unzulässige Verwendung von Null".
Wenn das richtige Passwort eingetragen wird, passiert gar nichts.
Leider haben mir die drei Select Case - Einträge hier im Forum nicht geholfen, auch nicht die Tipps und Tricks.
Hier der Code:
Private Sub cmd_Name_Passwort_Click()
Dim strgPasswort As String
strgPasswort = DLookup("BEN_Passwort", "tblBenutzer", "BEN_Name= [cboName]")
Select Case strgPasswort
Case strgPasswort = Me.txtPasswort
MsgBox "Passwort richtig"
Case Me.txtPasswort <> strgPasswort
MsgBox "Passwort falsch"
Case IsNull(Me.txtPasswort)
MsgBox "Passwort eintragen"
End Select
'If strgPasswort = Me.txtPasswort Then MsgBox "Passwort korrekt"
'If IsNull(Me.txtPasswort) Then MsgBox "Passwort eintragen"
'If Me.txtPasswort <> strgPasswort Then MsgBox "Passwort falsch"
End Sub
Es wäre toll, wenn mir jemand erklären könnte, warum es mit if funktioniert und mit Select Case nicht.
Hallo,
es funktioniert deswegen nicht, weil Select case völlig falsch angewendet wird.
Private Sub cmd_Name_Passwort_Click()
Dim strgPasswort
strgPasswort = DLookup("BEN_Passwort", "tblBenutzer", "BEN_Name= '" & Me![cboName] & "'")
Select Case strgPasswort
Case Me!txtPasswort
MsgBox "Passwort richtig"
Case Else
MsgBox "Passwort falsch"
End Select
End Sub
Access ist nicht case-sensitive, d. h. der =-Operator nimmt keine Rücksicht auf Groß-Kleinschreibung im Passwort-String.
Der Einsatz der Strcomp() -Funktion ist anzuraten.
Hallo,
oder so, wenn auch keine Eintrag gemeldet werden soll:
Private Sub cmd_Name_Passwort_Click()
Dim strgPasswort As String
strgPasswort = DLookup("BEN_Passwort", "tblBenutzer", "BEN_Name= [cboName]")
Select Case Nz(Me.txtPasswort, "")
Case ""
MsgBox "Passwort eintragen"
Case strgPasswort
MsgBox "Passwort richtig"
Case Is <> strgPasswort
MsgBox "Passwort falsch"
End Select
End Sub
Vielen Dank für die schnelle Antwort. Leider bekomme ich nun immer die Meldung "Paswort falsch".
Hi,
"Dim strgPasswort As String"
in diesem Fall darf aber nicht nz() um Dlookup vergessen werden, wenn es ein kann, dass der gewählte Name in der Tabelle nicht existiert..
PS: Bist Du sicher, ein richtiges Passwort eingegeben zu haben?
Setz einen Haltepunkt an den Codeanfang und überprüf mit Einzelschritt, welchen Inhalt die Variablen haben.
Vielen Dank an MzKlMu - es funktionert ! 8) :)