Mes biens chers confrères,
Soucieux de remettre un peu d'ordre dans une application dont j'ai hérité de la maintenance, je dois établir les listes des utilisateurs, groupes et permissions à tous les objets de toutes les applications Access.
Voilà le schéma habituellement utilisé.
. Chque utilisateur est membre d'un MDW,
. Un utilisateur appartient à 1 ou n Groupes
. La sécurité d'une appli Access établi des accès à des formulaires, de rapports, etc pour 1 ou n Groupes.
Mon PRB, succintement : impossible d'obtenir la liste détaillée des accès des groupes à chacun des formulaires de mon appli.
Les utilisateurs ont été listés comme suit:
Les Groupes Comme suit:Dim cat As New ADOX.Catalog
scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data " & _
"Source=\\SERVEUR\DATA\MonApplication.mdb;" & _
"Jet OLEDB:SystemDatabase=\\SERVEUR\MDW\MonFichierSysteme.MDW;" & _
"User ID=Admin;Password=MonMDP"
cat.ActiveConnection = scn
For Each Item In cat.Users
Debug.Print "Mon User : " & Item
ListerLesGroupesDuUser Item, Societe
Next
'...etc
La liste des accès des différents groupes aux tables de l'appli est obtenue comme suit:.../...
cat.ActiveConnection = scn
Set usr = cat.Users(Utilisateur)
Dim usrGrps As ADOX.Groups
Dim usrGrp As ADOX.Group
Set usrGrps = usr.Groups
For Each usrGroup In usrGrps
debug.print = Utilisateur & ";" & usrGroup.Name
Next
.../...
Set oTBs = cat.Tables
For Each oTB In oTBs
Set oGRPS = oTB.ParentCatalog.Groups
For Each oGRP In oGRPS
Debug.print oTB.Name , oGRP.Name , oGRP.GetPermissions(oTB.Name, adPermObjTable)
Next
Set oGRPS = Nothing
Next
MAIS, JE NE PARVIENS PAS A OBTENIR LA LISTE DES ACCES DES DIFFERENTS GROUPES AUX FORMULAIRES, RAPPORTS...
QUELQU'UN AURAIT-IL UNE SOLUTION???
Partager