Formularzugriff nur bei berechtigte User

Moderator: ModerationP

Formularzugriff nur bei berechtigte User

Beitragvon Katsche » 02. Dez 2020, 10:34

Hallo zusammen,

ich möchte gerne einen Formularzugriff nur für berechtigte Usern ermöglichen.
Ein berechtigter User ist der, dessen Windows Anmeldename mit dem in der Tabelle "tbl_Benutzer" bzw. Abfrage "qry_Überblick" übereinstimmt und per Kontrollkästchen für das Formular freigegeben ist.

Meinen VBA-Code habe ich aus dem alten Forum von 2014 wo das Thema schon behandelt wurde:
http://www.office-loesung.de/ftopic640747_15_0_asc.php

Ich habe im VBA-Code in Formular "frm_Test1" einen Fehler drin den ich nicht korrigieren kann, da mir das Wissen dazu fehlt und bitte um Hilfe den Code anzupassen.
In der Anlage meine Beispieldatei.

Vielen Dank für die Hilfe.
Gruß Katsche
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Katsche
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 157
Registriert: 18. Feb 2008, 21:24
Wohnort: Rheine

Re: Formularzugriff nur bei berechtigte User

Beitragvon SGast » 02. Dez 2020, 11:03

Hallo,
dein Spaltenname ist falsch:
Set rs = CurrentDb.OpenRecordset("Select * From qry_Überblick Where Windowsname='" & strBenutzer & "'")

Gruß Steffen
SGast
 

Re: Formularzugriff nur bei berechtigte User

Beitragvon Katsche » 02. Dez 2020, 11:30

Hallo Steffen,

ja, dass ist richtig, hatte ich nachträglich noch geändert in der Tabelle aber nicht im Code jedoch scheint noch weiter unten ein Fehler zu sein.

Bei dem Select Case vermute ich den Fehler:

Code: Alles auswählen
If Not rs.EOF Then
        Select Case rs!frm_Test1
        Case "true"
            strZugriff = rs!frm_Test1
        End Select
        DoCmd.OpenForm "frm_Test1"
        Forms!frm_Test1.RecordSource = "qry_Überblick" & strZugriff
        ' Filter einschalten
        Forms!frm_Test1.FilterOn = True
Katsche
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 157
Registriert: 18. Feb 2008, 21:24
Wohnort: Rheine

Re: Formularzugriff nur bei berechtigte User

Beitragvon SGast » 02. Dez 2020, 11:55

Hallo,
Code: Alles auswählen
' Case "true" <-- falsch
 Case True


Was der Befehl
Code: Alles auswählen
Forms!frm_Test1.RecordSource = "qry_Überblick" & strZugriff '### <== hier ist ein Fehler drin!!!! ####
bewirken soll - fehlt mir die Phantasie :?

Gruß Steffen
SGast
 

Re: Formularzugriff nur bei berechtigte User

Beitragvon Katsche » 02. Dez 2020, 12:52

Hallo,

ich habe den Code im Formular 1 wie folgt geändert allerdings kommt weder eine Meldung noch öffnet sich das Formular.
Ich habe noch einmal den Benutzernamen meines Firmen-PC sowie die Formularberechtigung geprüft, um sicherzustellen, dass dort nicht der Fehler ist.

Funktioniert das Beispiel bei Dir am PC?

Code: Alles auswählen
Private Sub Form_Open(Cancel As Integer)
  'Link zur Quelle: http://www.office-loesung.de/ftopic640747_15_0_asc.php
 
    Dim strBenutzer As String, strZugriff As String
    Dim rs As DAO.Recordset
    strBenutzer = Environ("username")
   
    Set rs = CurrentDb.OpenRecordset("Select * From qry_Überblick Where Windowsname='" & strBenutzer & "'")
   
    If Not rs.EOF Then
        Select Case rs!frm_Test1
        Case True
            strZugriff = rs!frm_Test1
        End Select
        DoCmd.OpenForm "frm_Test1"
        ' Filter einschalten
        Forms!frm_Test1.FilterOn = True
    Else
        MsgBox "Sie haben keine Berechtigung das Formular zu öffnen!", vbCritical
    End If
    DoCmd.Close acForm, Me.Name
    'DoCmd.Close acForm, "frm_Test1"
End Sub
Katsche
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 157
Registriert: 18. Feb 2008, 21:24
Wohnort: Rheine

Re: Formularzugriff nur bei berechtigte User

Beitragvon SGast » 02. Dez 2020, 13:06

Hallo,
beschäftige dich mal mit dem Debuggen von Code: Haltepunkte, Einzelschritt ...

Am ende deiner Prozedur schließt du das Formular. Ich denke das ist so nicht gewünscht ....
Code: Alles auswählen
' ....
    End If
    DoCmd.Close acForm, Me.Name  ' <-- Formular wird geschlossen
End Sub


Gruß Steffen
SGast
 


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste