Bonjour,
J'imagine qu'il faut bien conserver ces droits d'accès quelque part.
Donc, disons dans une table T_Droits :
T_Droits
Nom_Utilisateur : Texte
Menus_Contextuels : Booléen (Vrai/Faux)
Ensuite, à partie du nom d'utilisateur il faudrait aller lire dans la table T_Droits le contenu du champ Menus_Contextuels :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Public Function doRightClick(nom_utilisateur, Optional active As Boolean = False)
Dim obj As Object
Dim rst_droits As DAO.Recordset
If Not active Then ' si on est en mode désactivation des menus contextuels
Set rst_droits = CurrentDb.OpenRecordset("select Menus_Contextuels from T_Droits where Nom_Utilisateur like '" & nom_utilisateur & "'")
active = rst_droits!Menus_Contextuels
rst_droits.Close
Set rst_droits = Nothing
End If
For Each obj In CurrentProject.AllForms
DoCmd.OpenForm obj.Name, acHidden
Forms(obj.Name).ShortcutMenu = active
DoCmd.Close acForm, obj.Name, acSaveYes
Next
End Function |
Ensuite appeler cette fonction comme cela pour l'utilisateur "Dupond" :
call doRightClick("Dupond")
Cdlt
Partager