Ich schreibe diese kleine Login-Validierung-Anwendung als ein Schritt meines VBA-Lernprozesses. Die Anwendung sollte prüfen, ob der Anmeldename "sa" und das Passwort "XEL" lautet. Die Anwendung sollte es dem Benutzer erlauben, den Benutzernamen und das Passwort maximal dreimal einzugeben. Wenn bei allen drei Versuchen ein falscher Benutzername und ein falsches Passwort eingegeben werden, sollte die Anwendung einen Fehler anzeigen und schließen. Und blasen ist mein Code:Zugriff VBA Login-Anwendung
Private Sub Command6_Click()
Me.Text0.SetFocus
cID = Text0.Text
Me.Text4.SetFocus
cPswd = Text4.Text
For i = 1 To 3
validpswd = False
If cID = "sa" And cPswd = "XEL" Then
validpswd = True
MsgBox "Successful"
Exit For
Else
MsgBox "Try again"
Exit For
End If
Next i
'MsgBox ("byebye")
'DoCmd.Close acForm, "Used Car Sales", acSaveYes
End Sub
Jetzt ist es die Überprüfung/Validierung Teil. Aber es macht nicht die dreifache Maximalbegrenzung, ich bin irgendwie verwirrt, wie man den letzten Nachrichtenboxcode und den Schließbefehl in die gesamten Codeblöcke einfügt. Irgendwelche Hilfen werden geschätzt.
Vielen Dank.
Vielen Dank. Das hilft tatsächlich. Auf der anderen Seite, sagen wir, ich habe falsche Informationen für zweimal eingegeben, dann wird alles, was ich in der dritten Zeit eingegeben habe, die App schließen mit If try <3 Dann validpswd = False Wenn cID = "sa" Und cPswd = " XEL "Dann validpswd = True MsgBox "Erfolgreich" Else MsgBox "versuchen Sie es erneut" try = versuchen + 1 End If Else MsgBox ("Zu viele versuche") DoCmd.Close acForm," Login-Test ", acSaveYes End If –
Hinzugefügt eine Sache, die dieses Problem erfasst. – KySoto
Versuchen Sie, den Test vor der Überprüfung der Anzahl der Versuche auf korrekten Benutzernamen/Passwort zu verschieben. Pseudocode: If {Benutzername/Password Correct} Dann {Erfolgscode} ElseIf Tries> = 2 Dann {fehlgeschlagener Code} Else {erneut versuchen code; enthält Tries = Tries + 1} Ende Wenn – Skippy