Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Zugriffsberechtigung
zurück: Progressbar bei Tabellenerstellungsabfrage weiter: Pfad von kennwortgeschütztem Backend ermitteln Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
regenmacher
Dummie


Verfasst am:
14. Jun 2013, 18:42
Rufname: Werner
Wohnort: Schweizer Mittelland

Zugriffsberechtigung - Zugriffsberechtigung

Nach oben
       Version: Office 2010

Hallo Leute

Ich verliere langsam die Übersicht.
Das ist meine aktuelle Zugriffsberechtigung für unseren Betrieb
Code:
Private Sub Form_Open(Cancel As Integer)
' Benutzerberechtigungen
'------------------------
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim Login As String
    Dim Zugriff As String
    Dim strsql As String
   
    'Update
    If DMax("Version", "Version") > DLookup("Version", "System") Then
        Me!Download.Visible = True
      Else
        If (Aktualisieren = False) Then
            Me!Download.Visible = False
          Else
            Me!Download.Visible = True
        End If
    End If
'Zugriffsberechtigung
    Login = Environ("username")
    Set db = CurrentDb
    strsql$ = "SELECT Zugriffsrecht" _
             & " FROM [User]" _
            & " WHERE [Teilnehmer] = '" & Login & "';"
    Set rs = db.OpenRecordset(strsql)
    If Not (rs.EOF And rs.BOF) Then
        Zugriff = rs!Zugriffsrecht
      Else
        Zugriff = "1"
    End If
' Original-Code
'    If Zugriff = "2" Then 'Gast
'        Me!Administration.Visible = False
'        Me!Support.Visible = False
'        Me!Lagerverwaltung.Visible = False
'        Me!Bestellwesen.Visible = False
'        Me!IT.Visible = False
'        Me!Parkplatz.Visible = False
'        Me!Schlüssel.Visible = False
'        Me!Möbellager.Visible = False
'      Else
'        If (Zugriff = "3") Then 'Projektteilnehmer allgemein
'            Me!Administration.Visible = False
'            Me!Support.Visible = False
'            Me!Lagerverwaltung.Visible = False
'            Me!Bestellwesen.Visible = False
'            Me!IT.Visible = False
'            Me!Parkplatz.Visible = False
'            Me!Schlüssel.Visible = False
'            Me!Möbellager.Visible = False
'          Else
'            If (Zugriff = "4") Then 'Mitarbeiter Netzwerk
'                Me!Administration.Visible = False
'                Me!Support.Visible = False
'                Me!Lagerverwaltung.Visible = False
'                Me!Bestellwesen.Visible = True
'                Me!IT.Visible = False
'                Me!Parkplatz.Visible = False
'                Me!Schlüssel.Visible = False
'                Me!Möbellager.Visible = False
'              Else
'    ... (Endlose If's in Select Case ungesetzt by Willi Wipp)
    Select Case Zugriff
      Case "2" 'Gast
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "3" 'Projektteilnehmer allgemein
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "4" 'Mitarbeiter Netzwerk
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "5" 'Projektteilnehmer Lager
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = True
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "6" 'Mitarbeiter Lager
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = True
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = True
      Case "7" 'Teamleiter Lager
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = True
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = True
      Case "8" 'Verwalter System
        Me!Administration.Visible = True
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "9" 'Administratoren
        Me!Administration.Visible = True
        Me!Support.Visible = True
        Me!Lagerverwaltung.Visible = True
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = True
        Me!Parkplatz.Visible = True
        Me!Schlüssel.Visible = True
        Me!Möbellager.Visible = True
      Case "10" 'Mitarbeiter Support
        Me!Administration.Visible = False
        Me!Support.Visible = True
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "11" 'Teamleiter Support
        Me!Administration.Visible = False
        Me!Support.Visible = True
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "12" 'Parkplatzverwaltung Teilnehmer
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = True
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "13" 'Parkplatzverwaltung Mitarbeiter
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = False
        Me!Parkplatz.Visible = True
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "14" 'IT Teilnehmer
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = True
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "15" 'IT Mitarbeiter
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = True
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
      Case "16" 'Schlüssel Teilnehmer
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = True
        Me!Möbellager.Visible = False
      Case "17" 'Schlüssel Mitarbeiter
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = True
        Me!Möbellager.Visible = False
      Case "18" 'Mitarbeiter FIB
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = True
        Me!IT.Visible = False
        Me!Parkplatz.Visible = True
        Me!Schlüssel.Visible = True
        Me!Möbellager.Visible = True
      Case "19" 'Teilnehmer Möbellager
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = True
      Case "20" 'Mitarbeiter Möbellager
        Me!Administration.Visible = False
        Me!Support.Visible = False
        Me!Lagerverwaltung.Visible = False
        Me!Bestellwesen.Visible = False
        Me!IT.Visible = False
        Me!Parkplatz.Visible = False
        Me!Schlüssel.Visible = False
        Me!Möbellager.Visible = False
    End Select
    rs.Close: Set rs = Nothing
    Set db = Nothing
End Sub
Dieser Code stekkt in vielen Formularen und Menus. Und es kommen immer mehr hinzu, es müssen zusätzliche User (aktuell ca 150) aus anderen Bereichen auf verschiedene Formulare und Menus zugreifen. Das heist ich muss zusätzliche Gruppen erstellen, Zum Teil habe ich bereits für einzelne User ne Berechtigung erstellen müssen und muss es in allen Formularen korrigieren, Da verliert man schnell den Uberblick.

Gibt es nicht eine Möglichkeit, das auf Tabellenebene zu lösen, das heisst, ich generiere Spalten mit den verschieden Berechtigungen und Zeilen mit den Usern, so, dass ich nur noch anklicken muss, wer was darf.

Ich weiss nur nicht, wie ich das lösen soll. Kann mir jemand helfen?

_________________
Ich bin dabei, die unendlichen Wunder von Office 2010 zu erforschen
JMalberg
Es wird so langsam sinnig ...


Verfasst am:
14. Jun 2013, 20:24
Rufname:
Wohnort: Saarbrücken


AW: Zugriffsberechtigung, HILFE - AW: Zugriffsberechtigung, HILFE

Nach oben
       Version: Office 2010

*hust* Das ist leider keine Konzept und auch noch Hardcoded Smile

Denk mal drüber nach ob du Usergruppen bildest, für die du in jeder Form/Report abfragen kannst ob der User in dieser Gruppe ist und entsprechend agierst. Darüber kannst du auch deine Ribbons bilden.
Das Ganze Coding beschränkt sich dann auf nur eine Handvoll Zeilen (wenn überhaupt).

Der derArb hat dazu mWn auch ein nettes Tool bereit.

_________________
Gruß
Jürgen

Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie!
derArb
getting better


Verfasst am:
14. Jun 2013, 20:49
Rufname: derArb
Wohnort: Berlin

AW: Zugriffsberechtigung, HILFE - AW: Zugriffsberechtigung, HILFE

Nach oben
       Version: Office 2010

Hallo,
das wäre dann z.B. Anmeldeformular

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
regenmacher
Dummie


Verfasst am:
15. Jun 2013, 09:30
Rufname: Werner
Wohnort: Schweizer Mittelland


AW: Zugriffsberechtigung, HILFE - AW: Zugriffsberechtigung, HILFE

Nach oben
       Version: Office 2010

Guten Morgen

Danke für die Feedbacks
Zitat:
*hust* Das ist leider keine Konzept und auch noch Hardcoded Smile
Wie meinst du das? Hardcoded ? Hab ich was falsch gemacht?
Und kein Konzept? Ich versuche, ehemals 12 verschiede Access Datenbanken die zum Teil nicht funktionierten in eine einzige zu integrieren. Very Happy

Zitat:
Denk mal drüber nach ob du Usergruppen bildest, für die du in jeder Form/Report abfragen kannst ob der User in dieser Gruppe ist und entsprechend agierst.
Die im Code beschriebenen Zugriffsrechte sind ja Usergruppen, mein Problem ist, dass die User zum Teil in mehreren Gruppen sein müssten.

Auf Wunsch der GL musste ich Username und Passwort beim Login entfernen. Die ständige Eingabe der Anmeldedaten sei zu mühsam, (ich hab n 15 min Timeout bei inaktivität weil früher z.t. die Datenbanken tagelang offen waren..).
Darum habe ich die Zugriffsberechtigung sprich Login dadurch ersetzt, dass die Windows Logindaten jeweils abgerufen werden und mit den Zugriffsberechtigungen verglichen wird. (hat auch den Vorteil dass ich nicht mehr ständig irgend welche Passwörter zurückseten muss) Rolling Eyes

_________________
Ich bin dabei, die unendlichen Wunder von Office 2010 zu erforschen
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Hilfe: Windows User ID als Zugriffsberechtigung 6 Welde 1460 26. Nov 2013, 18:53
MissPh! Windows User ID als Zugriffsberechtigung
Keine neuen Beiträge Access Hilfe: Zugriffsberechtigung auf zugeordnete Dokumente - QM 9 kschwarzl 231 04. Feb 2013, 16:56
MissPh! Zugriffsberechtigung auf zugeordnete Dokumente - QM
Keine neuen Beiträge Access Hilfe: Zugriffsberechtigung Access 2003 10 michellehdl 2511 30. Mai 2009, 20:53
michellehdl Zugriffsberechtigung Access 2003
Keine neuen Beiträge Access Programmierung / VBA: Zugriffsberechtigung prüfen 1 Poweruser20 498 11. Sep 2007, 11:46
Shai Zugriffsberechtigung prüfen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum