Passworteingabe mit ok und abbrechen button

Hallo,

ich habe ein InputBox wo ich ein passwort eingeben kann.
ich kann ok und abbrechen drücken.
leider kann ich die aktionen nicht trennen.
wenn ich ok drücke und das passwort ist falsch dann soll eine messagebox kommen und falsche eingabe sagen. wenn ich abbrechen drücke, dann soll eine messagebox kommen, die sagt, sie haben abgebrochen. aber egal was ich drücke, es kommt falsches passwort. wie kann ich diese beiden aktionen trennen?
(unten der code)
vielen lieben dank für eure hilfe.
gruß,
ayla

Private Sub Umschaltfläche1_Click()
’ Passwortschutz für Eventliste

Dim Pass, deny

Pass = InputBox(„Bitte geben Sie Ihr Passwort ein:“, „Passwortabfrage komplettes Formular“, „Passwort“, 5000, 6100)
Select Case Pass
Case „Event“
DoCmd.OpenForm „pass_form“
Case Else
deny = MsgBox(„Sie haben leider ein falsches Passwort eingegeben.“, vbOKOnly + vbExclamation, „Passwortfehler“)

End Select

End Sub

Hi, einfachste Möglichkeit:

Dim Pass, deny

Pass = InputBox(„Bitte geben Sie Ihr Passwort ein:“,
„Passwortabfrage komplettes Formular“, „Passwort“, 5000, 6100)

Select Case Pass
Case „Event“
DoCmd.OpenForm „pass_form“
Case „“
msgbox „Abbruch“
Case Else
deny = MsgBox(„Sie haben leider ein falsches Passwort
eingegeben.“, vbOKOnly + vbExclamation, „Passwortfehler“)

End Select

End Sub

Hallo Ralph,

deine Lösung hat nur einen kleinen Schönheitsfehler: wenn der Benutzer nichts eingibt kommt immer Abbrechen, auch wenn er OK gedrückt hat und das vielleicht sogar das richtige Passwort gewesen wäre.
Das könnte man zwar über einen Zeiger abfangen, aber ich denke die bessere Alternative wäre, ein eigenes Formular dafür zu erstellen.
Dort hat man neben der Möglichkeit Ok und Abbrechen selbst zu definieren z.B. auch die Mögl. die Texteingabe mit ** zu maskieren, was ja für eine Passworteingabe nicht schlecht wäre.

Gruß
Daniel

deine Lösung hat nur einen kleinen Schönheitsfehler: wenn der
Benutzer nichts eingibt kommt immer Abbrechen, auch wenn er OK
gedrückt hat und das vielleicht sogar das richtige Passwort
gewesen wäre.

Das stimmt, deshalb schrieb ich ja auch „einfachste Möglichkeit“. Bei weiteren Wünschen ist eine eigene Form natürlich besser, dann kann man das das Passwort mit *** verstecken usw.

Ralph

> Private Sub Umschaltfläche1\_Click()  
> ' Passwortschutz für Eventliste  
> Dim Pass, deny  
>   
> Pass = InputBox("Bitte geben Sie Ihr Passwort ein:", \_  
> "Passwortabfrage komplettes Formular", "Passwort", \_  
> 5000, 6100)  
>   
> Select Case Pass  
> **Case "Event"  
> DoCmd.OpenForm "pass\_form"**    
> Case ""  
> MsgBox "Abbruch", vbInformation, "Abbruch"  
> Case Else  
> MsgBox "... leider ...", vbExclamation, "Passwortfehler")  
> End Select  
>   
> End Sub

Ist ja klar, dass das passiert, da Du den Fall, dass „Abbrechen“ gedrückt wird, gar nicht abfängst. In diesem Falle gibt die InputBox nämlich einen leeren String zurück. Du musst also eine Case_Abfrage mehr einbauen, die auf „“ prüft und in diesem Falle „Abbruch“ melden (s.o.). Und das mit dem „deny“ und „OKOnly“ kannst Du weglassen (s.o.). Das ist in dieser Konstellation sinnlos.

Kristian