Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Caro_ne am November 10, 2022, 13:48:12

Titel: Formular mit verschiedenen Passwörtern schützen die je nach Eingabe ein anderes
Beitrag von: Caro_ne am November 10, 2022, 13:48:12
Hallo Zusammen,
Ich würde gerne mit dem folgenden VBA Code folgendes erreichen: Beim Öffnen des Formulars erscheint eine Passwortabfrage, es gibt 2 verschiedene Passwörter. Je nachdem welches eingegeben wird soll ein Makro gestartet werden. Beim Wechsel von Entwurfs- auf Formularansicht fragt er auch das Passwort, hier funktioniert mein Code. Nur wenn ich das Formular neu öffne erscheint die Fehlernummer 2046, und laut Debugger ist das Makro das Problem. Das Makro ist ein "AnwendenFilter" mit einer Bedingung. Fügt man das Makro als Button in das Formular ein funktioniert es einwandfrei. Hier der Code:

Private Sub Form_Open(Cancel As Integer)
Select Case InputBox("Passwort eingeben", "Passwortabfrage")
Case "DAH"
DoCmd.RunMacro "Mak_PL_DAH"
Case "LEF"
DoCmd.RunMacro "Mak_PL_LEF"
Case Else
MsgBox "Falsch"
DoCmd.Close acForm, Me.Name
End Select
End Sub

Wäre super wenn mir jemand helfen kann,
Gruß Caro :)
Titel: Re: Formular mit verschiedenen Passwörtern schützen die je nach Eingabe ein anderes
Beitrag von: MzKlMu am November 10, 2022, 14:51:01
Hallo,
vergiss diese Mischung von VBa Code und Makros. Zu Makros wird Dir ohnehin keiner helfen.
Hinterlege den Filter im VBA Code.

Was und wie wird über das Makro gefiltert ?

PS:
Das Passwort wird auch mit "dah" als richtig erkannt, ist Dir das klar ?
Auch "lef" wird funktionieren.
Titel: Re: Formular mit verschiedenen Passwörtern schützen die je nach Eingabe ein anderes
Beitrag von: Caro_ne am November 10, 2022, 15:28:44
Hallo Klaus,

ich bin leider Anfänger in Access daher sind mir Makros sehr behilflich.
Das habe ich tatsächlich auch schon versucht, indem ich das Makro in einen VBA Code konvertiert habe und diese Funktion dann aufgerufen habe. Führt aber zu demselben Ergebnis. Wie gesagt, es funktioniert wenn ich von der Entwurfs- in die Formularansicht wechsle, nur nicht wenn ich das Formular neu öffne. Da erscheint dann: Sie können die AnwendenFilter-Aktion nicht für dieses Fenster verwenden.

PS.: Ja das ist mir klar, macht aber gar nichts :-)
Titel: Re: Formular mit verschiedenen Passwörtern schützen die je nach Eingabe ein anderes
Beitrag von: MzKlMu am November 10, 2022, 15:40:57
Hallo,
Du musst schon erklären was Du filtern willst. Dem Makro musst Du es ja auch sagen. Anders kann ich Dir nicht helfen.
Zitatindem ich das Makro in einen VBA Code konvertiert habe
Zeige mal diesen VBA Code.

Makros solltest Du nicht anwenden, Du wirst zu Makros so gut wie keine Hilfe bekommen.
Titel: Re: Formular mit verschiedenen Passwörtern schützen die je nach Eingabe ein anderes
Beitrag von: Caro_ne am November 10, 2022, 15:53:59
Hallo Klaus,

entschuldige das habe ich überlesen. Ich möchte nach einem Namenskürzel filtern und nach einem Kontrollkasten.

Der konvertierte Code sieht so aus:
Function Mak_PL_DAH()
On Error GoTo Mak_PL_DAH_Err

    DoCmd.ApplyFilter "", "[tbl_Hauptuebersicht]![Bearbeiter PL]=""DAH"" And [tbl_Hauptuebersicht]![Abgerechnet]=0", ""


Mak_PL_DAH_Exit:
    Exit Function

Mak_PL_DAH_Err:
    MsgBox Error$
    Resume Mak_PL_DAH_Exit

End Function

Gruß Caro :-)
Titel: Re: Formular mit verschiedenen Passwörtern schützen die je nach Eingabe ein anderes
Beitrag von: MzKlMu am November 10, 2022, 16:08:09
Hallo,
versuche es mal so:
Private Sub Form_Open(Cancel As Integer)
    Select Case InputBox("Passwort eingeben", "Passwortabfrage")
        Case "DAH"
            Me.Filter = "[Bearbeiter PL]= 'DAH' And [Abgerechnet]= False"
            Me.FilterOn = True
        Case "LEF"
            Me.Filter = "[Bearbeiter PL]= 'LEF' And [Abgerechnet]= False"
            Me.FilterOn = True
        Case Else
            MsgBox "Falsch"
            DoCmd.Close
    End Select
End Sub

PS:
Ich würde Dir dringend raten auf Leerzeichen (und andere Sonderzeichen) in Feldnamen zu verzichten. Du bisst immer gezwungen bei Bezügen ein [] Klammerpaar zu verwenden, was zusätzliche Arbeit macht .
Und Code immer sauber formatiert darstellen und die Codetags des Forums verwenden.
Titel: Re: Formular mit verschiedenen Passwörtern schützen die je nach Eingabe ein anderes
Beitrag von: Caro_ne am November 10, 2022, 16:15:04
Hallo Klaus,

ich bin dir sehr dankbar, es funktioniert einwandfrei!!! :) Danke auch noch für die Tipps!

Grüße, Caro :-)