Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: ThorG am August 01, 2010, 08:57:16

Titel: Berechtigungskonzept
Beitrag von: ThorG am August 01, 2010, 08:57:16
Hallo liebe Forenbesucher,

ich habe eine Fragestellung benötige Eure Unterstützung. Ich arbeite derzeit an einer Qualifizierungs-DB für eine Abteilung. Die Teamleiter sollen mit Unterstützung der DB für Ihre Mitarbeiter den Qualifizierungsbedarf erheben, Maßnahmen planen und verwalten. Wie kann ich nun sicherstellen, dass die Teamleiter die DB nur für Mitarbeiter ihrer jeweiligen Gruppe anwenden können?

Derzeit sieht die DB-Struktur u. a. die Mitarbeiter eine Tabelle vor, für die Teamleiter eine Tabelle und für die Gruppen habe ich eine Zwischentabelle angelegt. Ich habe gelesen, dass ich mit dem Berechtigungskonzept von Access (ich arbeite mit Access 2000) den Zugriff für einzelne Tabellen organisieren kann. Dies hilft mir m. E. hier aber nicht weiter, oder? Wer hat eine Idee?

Merci vielmals schon jetzt für Eure Unterstützung!
ThorG
Titel: Re: Berechtigungskonzept
Beitrag von: database am August 01, 2010, 09:31:11
Hallo,

für dein Problem, deine Fragestellung gibt es sicher mehrere brauchbare Lösungsansätze bzw Lösungswege.
ZitatIch habe gelesen, dass ich mit dem Berechtigungskonzept von Access ...
Das ist richtig, bringt aber in deinem Fall auch m.E. mehr Probleme/Arbeit als Nutzen.

Nachdem du aber wie von dir beschrieben bereits Tabellen für MA, TL und Gruppen angelegt hast ist die halbe Miete schon bezahlt :)

Ich gehe davon aus, dass es ohne Weiteres möglich sein wird, z.B. per Abfrage alle MA anzuzeigen die in der Gruppe eines Teamleiters vorhanden sind - oder?
Nun gilt es noch die Frage zu klären, ob die Datenbnk in einer Domänenstruktur läuft, bzw. ob die Anmeldungen an den PCs mit Fix vorgegebenen Benutzernamen erfolgen.

Wenn dem so sein sollte, ist der unten beschrieben Weg gangbar und führt ziemlich sicher zum Erfolg 8)
Du hast die Möglichkeit den angemeldeten Benutzer per VBA zu ermitteln (z.B. gleich beim Starten der DB) und dessen Benutzernamen dazu zu verwenden die betreffende Gruppe zu ermittteln. Von da an ist es nicht schwierig nur jene MA-Daten anzeigen zu lassen, die mit der ermittelten Gruppe in Beziehung stehen. ;)

Wie der angemeldete Benutzer ermittelt werden kann ist beispielsweise hier ersichtlich:
http://www.vbarchiv.net/tipps/tipp_27-angemeldeten-benutzernamen-ermitteln.html (http://www.vbarchiv.net/tipps/tipp_27-angemeldeten-benutzernamen-ermitteln.html)

HTH

Peter
Titel: Re: Berechtigungskonzept
Beitrag von: ThorG am August 01, 2010, 10:23:55
Hallo Peter,

danke für Deine Antwort. Tatsächlich erfolgen die Anmeldungen im Netzwerk mit festen Benutzerschlüsseln. Die Abfrage funktioniert auch (habe ich mit Kombifeldern schon ausprobiert). Allerdings fehlt mir als absoluter Anfänger der Ansatz für die Realisierung. Ich stelle also per VBA fest, welcher Teamleiter angemeldet ist und wie geht es dann weiter? Wie bekomme ich es hin, dass der Teamleiter nur mit den Datensätzen seiner Mitarbeiter arbeiten kann? Wo muss ich die entsprechende Abfrage (SQL/VBA-Code?) plazieren?

Sorry für meine unqualifizierten Fragen. Ich erstelle im Moment die DB anhand von vorliegenden Beispielen, die ich einfach für meine Bedürfnisse umbaue.

Beste Grüße
Thorsten
Titel: Re: Berechtigungskonzept
Beitrag von: database am August 02, 2010, 07:45:08
Hallo, guten Morgen,

bitte um etwas Geduld, ich werde dir ein entsprechendes Beispiel erstellen und hier deponieren!

Grüße

Peter
Titel: Re: Berechtigungskonzept
Beitrag von: database am August 02, 2010, 09:08:19
Hallo,

im Anhang die angesprochene Beispielsdatei - im Access 2000-Format

Die Datei startet mit einem AutoExec-Makro.
Dieses Makro ruft eine Funktion in Modul1 auf, die den Benutzernamen ermittelt sowie die Gruppenzugehörigkeit des TL in eine globale Variable schreibt.
Beim ersten Start wirst du aufgefordert, den Benutezer 'Super User' durch einen gültigen Benutzernamen deiner Organisatiion zu ersetzen.
Am Besten nimmst du dazu deinen eigenen und trägst diesen STATT Super User in die Tabelle tblTeamleiter ein.
Verändere die TL_Gruppe dabei NICHT!

Kleine überschaubare Codes im Hintergrund des Formulars frmTeam bewirken nun die Ausgabe von 2 Meldungen.
Selektire dazu einen Teamleiter und danach einen Mitarbeiter aus der Liste und klicke dann auf die Schaltfläche.
Wenn der Teamleiter gewählt wurde, der auch angemeldet ist, dann wird eine Erfolgsmeldung ausgegeben,
anderenfalls wird der Hinweis ausgegeben, dass die Daten des Mitarbeiters für den Teamleiter tabu sind.

Natürlich ist in dem Beispiel das Umgehen der AutoExec-Geschichte nicht abgestellt (Öffnen der Datei mit Shift-Taste) noch sind sonstige großartigen Dinge implementiert.
Es soll dir nur zeigen wie es auf einfache Weise gelingen KANN den Zugriff auf Daten einzugrenzen. ;)

HTH
Peter

[Anhang gelöscht durch Administrator]
Titel: Re: Berechtigungskonzept
Beitrag von: ThorG am August 02, 2010, 21:55:59
Hallo Peter,

erst mal herzlichen Dank! Werde es asap ausprobieren und mich wieder melden.

Gruß Thorsten