News

FAQ Access – Gruppenzugehörigkeit ermitteln

Category:

Access, FAQ

0

Access Netzwerk und Sicherheit- Gruppenzugehörigkeit ermitteln

Problem :

Wir setzen verschiedene Datenbanken im Arbeitsgruppenmodus ein. Für die einfachere Klärung von Zugriffsfehlern suchen wir nach einer Funktion, die uns die Gruppen auflistet, in denen der aktuell angemeldete Anwender Mitglied ist.

Problemlösung:

Dazu können Sie die folgende Funktion „UserNameGroups()“ einsetzen, die Sie in beliebiges Modul Ihrer Datenbank eingeben:

Function UserNameGroups() As String
Dim ws As Workspace, aUser As User
Dim I As Integer
Dim strUser As String, strResult As String
strUser = CurrentUser()
strResult = strUser + ": "
Set ws = DBEngine.Workspaces(0)
On Error Resume Next
Set aUser = ws.Users(strUser)
If Err <> 0 Then
strResult = strResult + "Nicht gefunden!"
Else
For I = 0 To aUser.Groups.Count - 1
strResult = strResult + aUser.Groups(I).Name + ", "
Next I
strResult = Left$(strResult, _ Len(strResult) - 2) 'letztes ", " raus...
End If
UserNameGroups = strResult
End Function

Die Funktion liefert als Ergebnis den Namen bzw. den Access-Account des aktuellen Anwenders sowie eine Liste der Gruppen, denen er zugeordnet ist. Dazu bedienen wir uns der Auflistung „Groups“. Sie wird von Access für die einzelnen Anwender anhand ihres Access-Accounts geführt.

Der Zugriff auf sämtliche Auflistungen erfolgt über den aktuellen Workspace, den wir einer Variablen „ws“ zuweisen. Aus der Users-Auflistung lesen wir die Liste der Eigenschaften für den aktuellen Anwender über

ws.Users(strUser)

aus. Die Gruppen liefert dann die Auflistung „Groups“, aus der wir die Namen durch Komma und Leerzeichen getrennt als Ergebnis liefern. Die Funktion können Sie einem Textfeld in einem Formular über die Eigenschaft „Steuerelementeinhalt“ in der Form „=UserNameGroups()“ zuordnen oder die Infos im Testfenster/Direktbereich per „? UserNameGroups()“ ausgeben lassen.

 

Wird nun die Datenbank über dieses Symbol gestartet, so braucht der Arbeitsgruppen Administrator nicht bemüht zu werden.

Tags: ,

Leave a Reply

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.