Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

(Access 2019) Laufzeitfehler 3075 bei Benutzereingabe

Begonnen von Jan.T, Juli 13, 2020, 11:27:41

⏪ vorheriges - nächstes ⏩

Jan.T

Hallo Acces-O-Mania forum, ich habe folgendes Problem:
Ich kriege jedesmal bei eingabe von daten und klick auf den Login button die Fehlermeldung "Laufzeitfehler 3075"
Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Benutzername =""JT"" AND Kennwort = ""1234""
Der Code ist folgender:
Private Sub cmdLogin_Click()
Dim lngBenutzerID As Long
lngBenutzerID = Nz(DLookup("BenutzerID", _
"Benutzer", "Benutzername = ''''" _
& Me!txtBenutzername _
& "'''' AND Kennwort = ''''" _
& Me!txtKennwort & "''''"), 0)
If lngBenutzerID = 0 Then
 MsgBox "Benutzername und/oder " _
    & "Kennwort sind falsch."
Else
 MsgBox "Anmeldung erfolgreich!"
    OptionEinstellen "CurrentUserID", _
    CStr(lngBenutzerID)
    DoCmd.Close acForm, Me.Name
End If
End Sub

Bei klick auf den Login button ohne eingabe, zeit er korrekt den Text an, das es falsch ist!

Ich habe das ganze von dieser Website kopiert, da ich keine Ahnung von Access habe und noch lerne: https://access-im-unternehmen.de/Benutzerverwaltung/

Habe den Code lediglich ein wenig angepasst.

Was kann ich tun?

Beaker s.a.

Hallo Jan,
Wozu sind die ganzen Quotes nötig?
Lass dir den Kriterien-String mal im Direktfenster anzeigen.
Dim sCriteria As String
sCriteria = "Benutzername = '" _
& Me!txtBenutzername _
& "' AND Kennwort = '" _
& Me!txtKennwort & "'"
Debug.Print sCriteria

gruss ekkehard

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Hondo

Hallo,
OptionEinstellen ist eine Prozedur/Funktion? oder Makro?
im Direktfenster sieht das z.B. so aus:
Benutzername = ''''Tester'''' AND Kennwort = ''''123ABC''''Da sind eindeutig ein paar Anführungszeichen zu viel.

Wenn dein Login ein klein wenig was taugen sollte wäre es nicht schlecht Benutzername und Passwort in Variablen zu speichen und diese mittels regulärem Ausdruck zu untersuchen. Beispielsweise Leerzeichen im Benuternamen/Passwort verbieten etc.

Gruß Andreas