Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OPTION DE SÉCURITÉ AVEC ACCESS 2000 SOUS DAO 3.6


Information sur la source

Description

Quelques routines qui permettent de gérer la sécurité sous access 2000.

(Non tester avec les autres version)
 

Source

  • ' Variable globale
  • Private dbWorkspace As Workspace
  • Private dbDatabase As Database
  • Private dbTable As Recordset
  • ' Changement de mot de passe
  • Private Sub cmdChangerMotDePasse_Click()
  • Dim strOldPassword As String
  • Dim strNewPassword As String
  • Set dbNameUser = dbWorkspace.Users(cmbNameUser.Text)
  • strOldPassword = InputBox("Ancien mot de passe")
  • strNewPassword = InputBox("Nouveau mot de passe")
  • dbNameUser.NewPassword strOldPassword, strNewPassword
  • End Sub
  • ' Créer un groupe utilisateur
  • Private Sub cmdCreerGroupe_Click()
  • Dim cg_GroupName As String
  • Dim cg_GroupPID As String
  • Dim cg_NewGroup As Group
  • cg_GroupName = InputBox("Nom du groupe")
  • cg_GroupPID = InputBox("Identifications")
  • Set cg_NewGroup = dbWorkspace.CreateGroup(cg_GroupName, cg_GroupPID)
  • dbWorkspace.Groups.Append cg_NewGroup
  • End Sub
  • 'Créer un utilisateur
  • Private Sub cmdCreerUtilisateur_Click()
  • Dim cu_UserName As String
  • Dim cu_UserPID As String
  • Dim cu_UserPW As String
  • Dim cu_NewUser As User
  • cu_UserName = InputBox("Nom de l'utilisateur")
  • cu_UserPID = InputBox("Identification")
  • cu_UserPW = InputBox("Mot de passe")
  • Set cu_NewUser = dbWorkspace.CreateUser(cu_UserName, cu_UserPID, cu_UserPW)
  • dbWorkspace.Users.Append cu_NewUser
  • cu_NewUser.Groups.Append dbWorkspace.CreateGroup("Users")
  • End Sub
  • ' Voir utilisateur dans group
  • Private Sub cmdListeUtilisateurEtGroupe_Click()
  • For Each dbNameUser In dbWorkspace.Users
  • Debug.Print dbNameUser.Name
  • For Each dbGroupName In dbNameUser.Groups
  • Debug.Print " " & dbGroupName.Name
  • Next
  • Next
  • End Sub
  • ' Supprimer un groupe
  • Private Sub cmdSupprimerGroupe_Click()
  • dbWorkspace.Groups.Delete "NomDuGroupe"
  • End Sub
  • ' Supprimer utilisateur
  • Private Sub cmdSupprimerUtilisateur_Click()
  • dbWorkspace.Users.Delete "NomUtilisateur"
  • End Sub
  • ' Supprimer un utilisateur d'un groupe
  • Private Sub cmdSupprimerUtilisateurDuGroupe_Click()
  • Dim GName As String
  • Set dbNameUser = dbWorkspace.Users("NomUtilisateur)
  • On Error Resume Next
  • GName = dbNameUser("NomDuGroupe").Name
  • If GName = "NomDuGroupe" Then
  • dbNameUser.Groups.Delete "NomDuGroupe" Else
  • MsgBox "L'utilisateur " & "NomUtilisateur" & " n'existe pas dans ce groupe", vbOKOnly + vbCritical, "Erreur !"
  • End If
  • End Sub
  • ' Dans le load
  • Private Sub Form_Load()
  • DBEngine.SystemDB = App.Path & "\FichierSecuriter.mdw"
  • Set dbWorkspace = DBEngine.CreateWorkspace("", "Utilisateur", "MotDePasse", dbUseJet)
  • Set dbDatabase = dbWorkspace.OpenDatabase(App.Path & "\BaseAControler.mdb", , , "Utilisateur")
  • End Sub
' Variable globale
Private dbWorkspace As Workspace
Private dbDatabase As Database
Private dbTable As Recordset
' Changement de mot de passe
Private Sub cmdChangerMotDePasse_Click()
  Dim strOldPassword As String
  Dim strNewPassword As String
  Set dbNameUser = dbWorkspace.Users(cmbNameUser.Text)
  strOldPassword = InputBox("Ancien mot de passe")
  strNewPassword = InputBox("Nouveau mot de passe")
  dbNameUser.NewPassword strOldPassword, strNewPassword
End Sub
' Créer un groupe utilisateur
Private Sub cmdCreerGroupe_Click()
  Dim cg_GroupName As String
  Dim cg_GroupPID As String
  Dim cg_NewGroup As Group
  
  cg_GroupName = InputBox("Nom du groupe")
  cg_GroupPID = InputBox("Identifications")
  Set cg_NewGroup = dbWorkspace.CreateGroup(cg_GroupName, cg_GroupPID)
  dbWorkspace.Groups.Append cg_NewGroup

End Sub
'Créer un utilisateur
Private Sub cmdCreerUtilisateur_Click()
  Dim cu_UserName As String
  Dim cu_UserPID As String
  Dim cu_UserPW As String
  Dim cu_NewUser As User
  
  cu_UserName = InputBox("Nom de l'utilisateur")
  cu_UserPID = InputBox("Identification")
  cu_UserPW = InputBox("Mot de passe")
  Set cu_NewUser = dbWorkspace.CreateUser(cu_UserName, cu_UserPID, cu_UserPW)
  dbWorkspace.Users.Append cu_NewUser
  cu_NewUser.Groups.Append dbWorkspace.CreateGroup("Users")

End Sub
' Voir utilisateur dans group
Private Sub cmdListeUtilisateurEtGroupe_Click()
  For Each dbNameUser In dbWorkspace.Users
    Debug.Print dbNameUser.Name
    For Each dbGroupName In dbNameUser.Groups
      Debug.Print "          " & dbGroupName.Name
    Next
  Next
End Sub
' Supprimer un groupe
Private Sub cmdSupprimerGroupe_Click()
  dbWorkspace.Groups.Delete "NomDuGroupe"
End Sub
' Supprimer utilisateur
Private Sub cmdSupprimerUtilisateur_Click()
  dbWorkspace.Users.Delete "NomUtilisateur"
End Sub
' Supprimer un utilisateur d'un groupe
Private Sub cmdSupprimerUtilisateurDuGroupe_Click()
  Dim GName As String
  Set dbNameUser = dbWorkspace.Users("NomUtilisateur)
  On Error Resume Next
  GName = dbNameUser("NomDuGroupe").Name
  If GName = "NomDuGroupe" Then
    dbNameUser.Groups.Delete "NomDuGroupe"  Else
    MsgBox "L'utilisateur " & "NomUtilisateur" & " n'existe pas dans ce groupe", vbOKOnly + vbCritical, "Erreur !"
  End If
End Sub
' Dans le load
Private Sub Form_Load()
  DBEngine.SystemDB = App.Path & "\FichierSecuriter.mdw"
  Set dbWorkspace = DBEngine.CreateWorkspace("", "Utilisateur", "MotDePasse", dbUseJet)
  Set dbDatabase = dbWorkspace.OpenDatabase(App.Path & "\BaseAControler.mdb", , , "Utilisateur")

End Sub
  

Conclusion

Simple, non ?

PS : Attention ne pas oublier que DAO va être abandonner par Microsoft et qu'il n'y aura pas de compatibilité. (A ma connaissance)
 

Commentaires et avis

signaler à un administrateur
Commentaire de NoFutur le 14/08/2005 15:50:20

Merci pour ce bout de code trés pratique pour moi :-)
Attention ne pas oublier que VB6 va être aussi abandonner par Microsoft :o)

@plus ^_^

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Récupération des groupes utilisateurs sous ACCESS [ par Nitocris ] Lorsqu'une base est sécurisé avec l'assistant d'ACCESS.Comment peut-on récupérer sous la forme d'une String le ou les groupe(s) d'utilisateur auquel i Gestion utilisateurs et groupes [ par antoine76 ] Bonjour &#224; tous,je souhaiterais &#224; partir d'une appli vb, obtenir tous les utilisateurs pr&#233;sents dans un groupe donn&#233;. J'ai pas mal Gestion de stock avec access! [ par cow040 ] bonjour a tous, voila, je doit ds le cadre de mon stage d&#233;veloopp&#233; avec access un gestionnaire de stock. je dois faire saisie des entr&#233; Avoir une liste des utilisateurs dans la fenêtre de connexion sous access [ par katmandou ] Bonjour,&nbsp; Je voudrais savoir si il est possible qu'a l'ouverture d'acces, dans la fen&#234;tre ou l'on tape son nom d'uitilisateur et son code, s construire une base de donnée access sur la gestion d'une societe d'interim [ par sopht ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB Gestion dynamique de masque de saisie sous Access [ par zarbiman ] &nbsp;&nbsp;&nbsp;Bonjour, j'ai une zone de texte dans mon formulaire Access dans laquelle je vais mettre des donn&#233;es prise dans une table. Le pr Access [ par gfritz ] Bonjour, je suis actuellement en BTS informatique de gestion option developpeur.Dans ma formation je n'utilise pas du tout access par contre nous somm Table Multi-Utilisateurs : Gestion d'erreur ADO, MDB [ par globule ] Bonjour, &nbsp; J&#146;essaye d&#233;sesp&#233;r&#233;ment de g&#233;rer les erreurs ADO contenant -2147&nbsp;: C'est-&#224;-dire&nbsp;: la table est


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.