MS Access 2010 Berechtigung für Button(Klick)
Liebe Gemeinde,
ich bräuchte bitte Hilfe für folgendes Szenario:
Auf einem Formular habe ich ein Textfeld, dieses gibt den aktuellen Windows User aus (fOSUserName()).
Auf dem Formular sind auch 3 Buttons, A, B und C, weiters gibt es einen Table(Berechtigungen) mit 2 Feldern: "Name Mitarbeiter" und "Berechtigung"(A,B oder C).
Nun möchte ich für jeden Button Berechtigungen setzen, auf Deutsch übersetzt:
Ist der ausgelesene User(im Textfeld) im Table "Berechtigungen" vorhanden, wenn ja, hat dieser die Berechtigung für zB. "A"(=Feldwert im selben Table) dann kann er auch mit dem Button das Formular "A" dahinter öffnen, ansonsten Msgbox "keine Berechtigung".
Schlussendlich soll die Struktur dann so funktionieren:
Berechtigung "A": darf alle 3 Buttons klicken bzw. öffnen(quasi eine Full Berechtigung)
Berechtigung "B": darf nur die Buttons bzw. Formulare "B" und "C" öffnen
Berechtigung "C": darf nur den Button bzw. Formular "C" öffnen
Leider überschreitet das meine derzeitigen VBA Skills komplett, bitte um Hilfe!
Besten Dank!
Gruß Dr.
PS: Buttonnamen und Berechtigungen habe ich hier vereinfacht angegeben, das würde ansonsten zu sehr verwirren, also A,B und C sind nichts weiter als Platzhalter.
ich bräuchte bitte Hilfe für folgendes Szenario:
Auf einem Formular habe ich ein Textfeld, dieses gibt den aktuellen Windows User aus (fOSUserName()).
Auf dem Formular sind auch 3 Buttons, A, B und C, weiters gibt es einen Table(Berechtigungen) mit 2 Feldern: "Name Mitarbeiter" und "Berechtigung"(A,B oder C).
Nun möchte ich für jeden Button Berechtigungen setzen, auf Deutsch übersetzt:
Ist der ausgelesene User(im Textfeld) im Table "Berechtigungen" vorhanden, wenn ja, hat dieser die Berechtigung für zB. "A"(=Feldwert im selben Table) dann kann er auch mit dem Button das Formular "A" dahinter öffnen, ansonsten Msgbox "keine Berechtigung".
Schlussendlich soll die Struktur dann so funktionieren:
Berechtigung "A": darf alle 3 Buttons klicken bzw. öffnen(quasi eine Full Berechtigung)
Berechtigung "B": darf nur die Buttons bzw. Formulare "B" und "C" öffnen
Berechtigung "C": darf nur den Button bzw. Formular "C" öffnen
Leider überschreitet das meine derzeitigen VBA Skills komplett, bitte um Hilfe!
Besten Dank!
Gruß Dr.
PS: Buttonnamen und Berechtigungen habe ich hier vereinfacht angegeben, das würde ansonsten zu sehr verwirren, also A,B und C sind nichts weiter als Platzhalter.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 311551
Url: https://administrator.de/contentid/311551
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
12 Kommentare
Neuester Kommentar
Moin,
am einfachsten geht das wohl mit der Dlookup Funktion:
Ohne Gewähr
am einfachsten geht das wohl mit der Dlookup Funktion:
Select case dlookup("Rechte","tblRechte","user='" & strUser & "' and Button='" & strButton &"' " )
case "A":
[...]
case "B":
[...]
case else:
[...]
end select
Ohne Gewähr
Hi,
then create an AutoExec macro, an execute this function in this macro.
Regards
dh. also man könnte auch gleich beim öffnen der DB das richtige Formular öffnen lassen?
write a function which checks the username, for example:Public Function StartUpCode()
Select Case Application.CurrentUser
Case "UserA"
DoCmd.OpenForm "form1"
Case "UserB"
DoCmd.OpenForm "form2"
Case Else
MsgBox "Don't know this user", vbExclamation
End Select
End Function
Regards
Das geht aber so nicht für dein Beispiel
Ich dachte eher an so etwas (siehe SlainteMhath und auch ungeprüft):
Select case dlookup("Rechte","tblRechte","user='" & strUser & "' and Button='" & strButton &"' " )
case "A":
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
case "B":
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = True
...
case else:
...
end select
Berechtigung "A": darf alle 3 Buttons klicken bzw. öffnen(quasi eine Full Berechtigung)
Berechtigung "B": darf nur die Buttons bzw. Formulare "B" und "C" öffnen
Berechtigung "C": darf nur den Button bzw. Formular "C" öffnen
Bei "A" und "B" sind ja mehrere forms möglich.Berechtigung "B": darf nur die Buttons bzw. Formulare "B" und "C" öffnen
Berechtigung "C": darf nur den Button bzw. Formular "C" öffnen
Ich dachte eher an so etwas (siehe SlainteMhath und auch ungeprüft):
Select case dlookup("Rechte","tblRechte","user='" & strUser & "' and Button='" & strButton &"' " )
case "A":
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
case "B":
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = True
...
case else:
...
end select
I got a table with all users + permission(field), so i think i'll need the dlookup Funktion.
This was only an example, you can do what you need inside the function and combine it with the above dlookup !
No your formatting is incorrect...
Note: The first parameter needs to be the field name which you want to receive and the second is the table name! The third is a where clause without "where"
https://support.office.com/de-de/article/DLookup-Funktion-8896cb03-e31f- ...
Select Case DLookup("Berechtigung", "Berechtigungen", "userID = '" & Forms!frm_start!Text3 & "'")
Note: The first parameter needs to be the field name which you want to receive and the second is the table name! The third is a where clause without "where"
https://support.office.com/de-de/article/DLookup-Funktion-8896cb03-e31f- ...