Neuigkeiten:

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

Mobiles Hauptmenü

Access Formular passwortgeschützt schliessen

Begonnen von Patrick_82, Februar 13, 2020, 22:58:03

⏪ vorheriges - nächstes ⏩

Patrick_82

Hallo zusammen,

ich möchte, dass sich mein Access Formular per X nur mit einem Passwort schliessen lässt. Und wenn es falsch geschrieben oder gar ignoriert wird, dann sollte das aktuelle Formular geöffnet bleiben. Habe dazu folgenden Ansatz:

Private Sub Form_close()
    If InputBox("Passwort eingeben", "Passwortabfrage") = "geheim" Then
        MsgBox "Richtig"
      Else
        MsgBox "Falsch"
        DoCmd.SelectObject acForm, "Start Zeiterfassung_Halle1"
        DoCmd.Restore
      End If
    End Sub

Das Problem ist, dass es sich auch schliesst wenn das Passwort falsch oder gar weg gelassen wird. Hat jemand eine Idee dazu.

Viele Grüße

Patrick

Hondo

Verwende statt Form_close einfach Form_Unload():

Private Sub Form_Unload(Cancel As Integer)
    If InputBox("Passwort eingeben", "Passwortabfrage") = "geheim" Then
        MsgBox "Richtig"
    Else
        MsgBox "Falsch"
        Cancel = True
    End If
End Sub

MzKlMu

#2
Hallo,
Du musst ein Ereignis verwenden das über Cancel auch abgebrochen werden kann. Schließen kann das nicht und wird immer ausgeführt.
Du musst entladen verwenden, dann wird der Code auch kürzer:
Private Sub Form_Unload(Cancel As Integer)
    If InputBox("Passwort eingeben", "Passwortabfrage") <> "geheim" Then
        MsgBox "Kennwort falsch"
        Cancel = True
    End If
End Sub

Die Meldung dass das Kennwort richtig ist, kannst Du Dir auch sparen.
Dass diese Abfrage des Kennworts nicht zwischen Groß und Kleinschreibung unterscheidet ist Dir bewustt ?
geheim, GEHEIM, Geheim, GeHeim ist alles das Gleiche bei dieser Prüfung.
Gruß Klaus

Patrick_82