Changer le mot de passe d'un BDD Access avec VISUAL BASIC 2005

Résolu
Morveus Messages postés 19 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 12 juin 2007 - 1 juin 2007 à 11:14
cs_Exploreur Messages postés 4821 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

11 réponses

Morveus Messages postés 19 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 12 juin 2007
11 juin 2007 à 11:57
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!
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 11:31
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

 
0
Morveus Messages postés 19 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 12 juin 2007
1 juin 2007 à 11:39
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 12:06
Salut,

Regarde cette source

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Morveus Messages postés 19 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 12 juin 2007
1 juin 2007 à 12:14
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 :)
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 13:41
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

 
0
Morveus Messages postés 19 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 12 juin 2007
1 juin 2007 à 13:53
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!
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 14:02
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

 
0
Morveus Messages postés 19 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 12 juin 2007
1 juin 2007 à 14:10
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
0
Morveus Messages postés 19 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 12 juin 2007
1 juin 2007 à 15:22
Je trouve pas :'(

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

Merci d'avance!

Morveus
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
11 juin 2007 à 12:02
Salut,

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

Bonne prog...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Rejoignez-nous