Modifier le mot de passe d'une base Access à partir de VB

sreb Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 17 février 2005 - 3 févr. 2005 à 12:30
mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005 - 4 févr. 2005 à 11:13
Bonjour à tous,

voilà mon problème:
Dans ma première page je déclare le lien avec ma base de données, comme ceci:
"Private Sub Form_Load()


Set ct = New ADODB.Connection
ct.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\GestionEmprunts.mdb;" & _
"Jet OLEDB:Database Password=admin"


End Sub"

Ma base Access est protégé par un mot de passe (pour l'instant admin) et j'aimerais que l'utilisateur puisse le modifier mais je ne vois franchement pas comment...

si quelqu'un à une idée...?

merci

seb

4 réponses

mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005
3 févr. 2005 à 18:01
Avec DAO il faut appliquer la méthode NewPassword à l' objet User.
Syntaxe:


object.NewPassword oldpassword, newpassword
0
sreb Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 17 février 2005
4 févr. 2005 à 09:02
tout d'abord merci pour ta réponse

j'ai essayé mais il y a une erreur qui me dit que ma base est déjà ouverte en mode exclusif et qu'il faut que je réessaye quand elle sera disponible...
Elle est déjà ouverte avec la méthode ADO ... et j'en ai besoin pour mes recordset...

as tu une solution?

seb
0
sreb Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 17 février 2005
4 févr. 2005 à 09:05
ah oui j'oubliais

voici mon code:
Dim db As DAO.Database
Set db = DAO.OpenDatabase(App.Path & "\GestionEmprunts.mdb", True)
db.NewPassword "admin", "essai"

seb
0
mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005
4 févr. 2005 à 11:13
Ok on va repartir du début.

L'objet DBEngine est l'objet de niveau supérieur du modèle objet DAO.
L'objet DBEngine contient et contrôle tous les objets de la hiérarchie d'objets DAO. Il est impossible de créer des objets DBEngine supplémentaires. L'objet DBEngine n'appartient à aucune collection.

DBEngine contient un objet WorkSpace. Et la collection WorkSpaces.

Il faut manipuler les objets User et Group (l' objet User représente un compte utilisateur; ) qui tous deux font partie de l' objet WorkSpace.

Donc on utilise les collections Groups et Users pour établir les autorisations d'accès aux objets du Workspace pour les utilisateurs et les groupes.

Un objet Group représente un groupe de comptes d'utilisateurs disposant d'autorisation d'accès communes dans le cadre d'un groupe de travail Workspace utilisé comme groupe de travail sécurisé (espaces de travail Microsoft Jet uniquement).


C'est curieux, la référence DAO est fournie avec VB5 édition Entreprise, mais pas avec VC6 ... nan?

Pour revenir au mot de passe, Si dans la syntaxe
object.NewPassword oldpassword, newpassword
Si object fait référence à un objet User qui n'a pas encore été ajouté à la collection Users, une erreur se produit. Pour définir un nouveau mot de passe, il faut se connecter sous le nom de l'utilisateur dont on modifie le compte, ou alors être un membre du groupe Admins. La propriété Password d'un objet User est en écriture seule, les utilisateurs ne peuvent donc pas lire la valeur en cours.
0