Changer le mot de passe d'un BDD Access avec VISUAL BASIC 2005 [Résolu]

Messages postés
19
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2007
- - Dernière réponse : cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
- 11 juin 2007 à 12:02
Bonjour,

je cherche à changer le mot de passe de ma base de données Access avec Visual Basic 2005. J'ai trouvé des codes pour VB6 mais je n'arrive pas à les appliquer intégralement (certaines fonctions ne sont pas reconnues du tout).

Existe-t-il un moyen, et si oui lequel, de changer le mot de passe de ma base Access en n'utilisant que des fonctions Visual Basic 2005 / .NET?

Merci d'avance!!

Morveus
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
19
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2007
3
Merci
Ca y est, j'ai trouvé!
En utilisant Microsoft DAO 3.6 Object Library, ca donne:

Sub OpenDB(
ByVal MotDePasse
As
String, ByVal NouveauPasse AsString)

   Dim db
As DAO.Database

   Dim ws
As DAO.Workspace

   Dim Engine
As DAO.DBEngine =
New DAO.DBEngine()
   ws = Engine.Workspaces(0)

   Dim ChaineConnexion =
"MS Access;PWD=" & MotDePasse
   db = ws.OpenDatabase(
"base.mdb",
True,
False, ChaineConnexion)
   db.NewPassword(MotDePasse, NouveauPasse)
   db.Close()

End
Sub

Dans "OpenDatabase", le 2e argument ouvre la base en mode exclusif (True), et le 3e ne l'ouvre pas en lecture seule (False). Voilà, il suffit de taper:

Open("MotDePasseOriginal", "lalalala"
)

Et le tour est joué !

Bonne journée!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 207 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Morveus
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
0
Merci
Salut,

Pour le personnes succeptible de pouvoir te répondre en .net, pense à mettre le code que tu n'arrives pas à transformer..

Exemple : en .net les long >> integer...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Messages postés
19
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2007
0
Merci
En gros c'est ca:



Dim VieuxPass = "test1"
Dim NouveauPass = "test2"
Dim CheminBase = "C:\Chemin..."

Dim db As DAO.Database
Set db = OpenDatabase(CheminBase, True, False, ";pwd=" & VieuxPass)
db.NouveauPass VieuxPass, NouveauPass
db.Close

La fonction que j'ai colorée en rouge n'est pas reconnue...
Voilà ce que moi j'ai trouvé en bidouillant:

Dim db
As DAO.Database

DEFINIR DB
db.NewPassword(VieuxPass, NouveauPass
)
db.Close()

....

Je pense que mon code est bon (enfin ca m'a l'air bon), mais que mettre à la ligne où j'ai écrit "Définir DB" ? Puisque DB ne fait pas référence à ma base de données, la fonction "NewPassword" ne peut pas fonctionner :p
Quel est donc la fonction pour "ouvrir" ma base de données avant de faire "NewPassword" ?

J'espère que vous me comprenez, et que je ne suis pas parti sur une mauvaise voie!
Merci beaucoup

Morveus
Commenter la réponse de Morveus
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
0
Merci
Salut,

Regarde cette source

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Messages postés
19
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2007
0
Merci
Salut,

C'est justement cette source que j'ai utilisée :)
J'ai juste raccourci le code, mais mon probleme reste le même:
Set db = OpenDatabase(CheminBase, True, False, ";pwd=" & VieuxPass)

OpenDatabase n'est pas reconnu! :(
J'ai cherché dans la liste des objets (avec la touche F2) et je n'ai pas trouvé d'équivalent...

En connais-tu un?

Merci pour ton aide :)
Commenter la réponse de Morveus
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
0
Merci
Salut,

Rajoute dans ton projet :

Menu >> projet >> référence >> et tu coches : Microsoft DAO 3.51 Object library

Moi je viens de faire l'esai sur une base, mais le souçis est que je n'ai pas un bon format de base de données, mais la fonction fonctionne apparement très bien..

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Messages postés
19
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2007
0
Merci
Salut,

J'ai essayé, et en effet les erreurs soulignées en bleu ont disparu, sauf cette fameuse "OpenDataBase" qui reste soulignée et qui refuse d'être reconnue...

Comment cela se fait-il?
Je peux vous fournir des captures d'écran si vous en avez besoin, si cela peut vous permettre de voir où est le problème...

Merci pour votre aide!
Commenter la réponse de Morveus
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
0
Merci
Salut,

Je pense(pas sur de moi) que maintenant c'est plus un problème de syntaxe...Si tu est bien sous vb2005, .net, il me semble qu'il existe une référence à cochée pour prendre en compte des instruction VB6, mais je ne sais pas ou il faut la cochée !!!

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Messages postés
19
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2007
0
Merci
Ah, ok :)
Je suis effectivement en VB2005 Express, et il y a les fonctions du .NET Framework. Je vais fouiller un peu et essayer de trouver cette case dont tu parles :p

Merci beaucoup, je poste dès que j'ai trouvé (ou pas ^^)

Morveus
Commenter la réponse de Morveus
Messages postés
19
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2007
0
Merci
Je trouve pas :'(

Quelqu'un d'autre aurait-il une solution à me proposer?

Merci d'avance!

Morveus
Commenter la réponse de Morveus
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
0
Merci
Salut,

Content pour toi que tu ais trouvé ta réponse...

Bonne prog...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur