Benutzer mit den meisten Antworten
Ausblenden eines Registers in Abhängigkeit von Gruppenberechtigung

Frage
-
Hallo zusammen,
in einem Formular habe ich ein Registersteuerelement mit mehreren Registern. Eines davon enthält sensible Daten, die nur einem bestimmten Benutzerkreis zugänglich sein sollen. Daher gibt es eine Gruppenberechtigung, welche den Zugriff auf die Unterformulare in dem Register steuert.
Das funktioniert soweit gut, allerdings werden die UFOs als weiße Fläche auf dem grauen Register dargestellt. Kann man vielleicht das ganze Register in Abhängigkeit von der Benutzergruppe ausblenden, so nach dem Motto:
If currentusergroup = Benutzergruppe Then
Me.RegisterSteuerelement.Pages(Seitennummer).Visible = False?
Leider gibt's ja currentusergroup nicht...
Die DB ist im Format 2003, Entwicklungsoberfläche ist Acc 2010.
Vielen Dank vorab und viele Grüße
Julia
Antworten
-
Hallo JH_OL,
JH_OL schrieb folgendes:
in einem Formular habe ich ein Registersteuerelement mit mehreren
Registern. Eines davon enthält sensible Daten, die nur einem
bestimmten Benutzerkreis zugänglich sein sollen. Daher gibt es eine
Gruppenberechtigung, welche den Zugriff auf die Unterformulare in
dem Register steuert.
Das funktioniert soweit gut, allerdings werden die UFOs als weiße
Fläche auf dem grauen Register dargestellt. Kann man vielleicht das
ganze Register in Abhängigkeit von der Benutzergruppe ausblenden,
so nach dem Motto:
If currentusergroup = Benutzergruppe Then
Me.RegisterSteuerelement.Pages(Seitennummer).Visible = False Leider
gibt's ja currentusergroup nicht...Die kannst du aber auslesen:
http://bytes.com/topic/access/answers/899895-get-current-users-group-nameGoogle hilft auch noch weiter:
http://www.google.de/webhp#hl=de&source=hp&q=access+group+currentuserGruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de- Als Antwort markiert JH_OL Donnerstag, 21. April 2011 08:14
Alle Antworten
-
Hallo JH_OL,
JH_OL schrieb folgendes:
in einem Formular habe ich ein Registersteuerelement mit mehreren
Registern. Eines davon enthält sensible Daten, die nur einem
bestimmten Benutzerkreis zugänglich sein sollen. Daher gibt es eine
Gruppenberechtigung, welche den Zugriff auf die Unterformulare in
dem Register steuert.
Das funktioniert soweit gut, allerdings werden die UFOs als weiße
Fläche auf dem grauen Register dargestellt. Kann man vielleicht das
ganze Register in Abhängigkeit von der Benutzergruppe ausblenden,
so nach dem Motto:
If currentusergroup = Benutzergruppe Then
Me.RegisterSteuerelement.Pages(Seitennummer).Visible = False Leider
gibt's ja currentusergroup nicht...Die kannst du aber auslesen:
http://bytes.com/topic/access/answers/899895-get-current-users-group-nameGoogle hilft auch noch weiter:
http://www.google.de/webhp#hl=de&source=hp&q=access+group+currentuserGruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de- Als Antwort markiert JH_OL Donnerstag, 21. April 2011 08:14
-
Hallo Gunter,
vielen herzlichen Dank!
Bei meinen Recherchen hatte ich nur einen Hinweis gefunden, dass der User zum Auslesen der Berechtigung Admin-Rechte haben müsste (das bezog sich sicherlich auf eine andere Funktion) und habe diesen Ansatz deswegen gleich wieder verworfen, ohne ihn auszuprobieren.
Folgende Funktion von Dirk Goldgar habe ich nun erfolgreich verwendet, sie prüft, ob der angemeldete Benutzer in einer Gruppe ist:
Function fncUserIsInGroup(GroupName As String) As Boolean
' Returns True if the current user is a member of the specified
' security group; False if not, or if the group does not exist, or
' if an error occurs reading the groups.
Dim ws As Workspace
Set ws = DBEngine.Workspaces(0)
On Error Resume Next
fncUserIsInGroup = _
(ws.Users(CurrentUser).Groups(GroupName).Name = GroupName)
Set ws = Nothing
End FunctionNochmals vielen Dank und viele Grüße,
Julia