Gruppenzugehörigkeit des aktuellen Benutzers bestimmen

04.08.2005

Bei aktivierten Sicherheitssystem kann der Name des aktuellen Benutzers mit Hilfe der CurrentUser-Funktion ermittelt werden. Access stellt jedoch keine direkte Funktion zur Verfügung, um die Benutzergruppe zu ermitteln, der der Benutzer zugeordnet ist. Greifen Sie auf die Users- und die Groups-Auflistung zu, um die Gruppenzugehörigkeit eines Benutzers zu bestimmen.

Jeder Benutzer wird in der Users-Auflistung durch ein User-Objekt repräsentiert. Um festzustellen, ob ein Benutzer Mitglied in einer bestimmten Gruppe ist, muß nur die Groups-Auflistung des betreffenden Users-Objekt durchlaufen werden. Genau dies erledigt die folgende Prozedur. Sie ermittelt, ob der angegebene Benutzer Mitglied in einer bestimmten Gruppe ist und gibt dementsprechend True oder False zurück:

Function IstBenutzerGruppenmitglied(Benutzername As String, _
                             Gruppenname As String) As Boolean

Dim WS As Workspace
Dim Benutzer As User
Dim Gruppe As Group

On Error GoTo Err

    Set WS = DBEngine(0)
    Set Benutzer = WS.Users(Benutzername)

    IstBenutzerGruppenmitglied = False

    For Each Gruppe In Benutzer.Groups

        If Gruppenname = Gruppe.Name Then
            IstBenutzerGruppenmitglied = True
            Exit For
    End If

    Next Gruppe

    Exit Function

Err:

    MsgBox Err.Description
    Exit Function

End Function

Bei einem jungfräulichen Sicherheitssystem gibt der folgende Ausdruck True zurück:

IstBenutzerGruppenmitglied("Admin", "Admins")

Beachten Sie, daß die Namen der Standardbenutzer und -benutzergruppen innerhalb von VBA in englisch angegeben werden müssen. Aus Administrator wird also Admin, aus Administratoren wird Admins und aus Benutzer wird Users.

Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.