Hallo,
ich will für meine Access Datenbank eine Dokumentation erstellen und brauche dazu noch eine Auflistung über die Benutzer- und Gruppenberechtigungen. Gibt es eine Möglichkeit diese mittels VBA direkt aus der Datenbank auszulesen (ich hab da was über Container gelesen, komm damit aber nicht so ganz zurecht)?
Vielen Dank im Voraus
Klaus
Es gibt eine Users- und eine Groups-Auflistung des WorkSpace, hier ein Beispiel zur Verwendung:
Public Function ShowGroups(UserName As String) As String
Dim Usr As User, Grp As Group, WS As Workspace, Res As String
On Error GoTo Er
Set WS = DBEngine.Workspaces(0)
Res = ""
On Error Resume Next
Set Usr = WS.Users(UserName)
If Err.Number = 0 Then
On Error GoTo Er
For Each Grp In Usr.Groups
Res = Res & ";" & Grp.Name
Next Grp
End If
Ex:
ShowGroups = Mid(Res, 2)
Exit Function
Er:
MsgBox "ShowGroups:" & Err.Description
Resume Ex
End Function
Reinhard
Hallo Reinhard,
danke für den Hinweis.
Zusätzlich zu der Auflistung, z uwelchen Benutzregruppen ein Benutzer zählt, bräuchte ich noch eine Auflistung welche Berechtigungen eine bestimmte Gruppe an den einzelnen Objekten hat. z. B.
Benutzergruppe Anwender hat auf Datenbankobjekt MeineTabelle die Rchte Entwurf lesen, Entwurf ändern, Daten lesen, Daten aktualisieren …
Die Auflistung sollte für alle Benutzergruppen und alle Datenbankobjekte die Rechte enthalten.
Gibts da eine Möglichkeit (außer per Hand herauszuklamüsern)?
Vielen Dank im Voraus!!
Gruß
Klaus
Du kannst die UserName-Eigenschaft des jeweiligen Document-Objekts verwenden. Schau mal in die Hilfe zu „UserName“ - ich zitiere mal:
Sie ermitteln die Berechtigungen für einen bestimmten Benutzer oder eine Gruppe von Benutzern oder legen diese fest, indem Sie zunächst die UserName-Eigenschaft auf den Namen des zu überprüfenden Benutzers bzw. der zu überprüfenden Gruppe setzen. Überprüfen Sie dann anhand der Einstellung der Permissions-Eigenschaft, welche Berechtigungen der Benutzer oder die Benutzergruppe hat, oder legen Sie die Permissions-Eigenschaft fest, um die Berechtigungen zu ändern.
Reinhard
PS: Schau dir auch mal die Beispiele in der Hilfe zu „UserName“ und „Permissions“ an!