eupeup
Messages postés57Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention24 avril 2013
-
7 mars 2007 à 11:37
eupeup
Messages postés57Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention24 avril 2013
-
8 mars 2007 à 11:10
Bonjour à tous,
j'ai un petit souci, j'ai codé en VBA sous excel une application qui va récupérer des données dans une base de données Access puis je traite mes données et je les retourne dans la base, sous excel mon projet fonctionne super bien.
Du coup j'ai voulu migrer de VBA vers VB6 et là j'ai un problème, donc en VBA je procédais de la manière suivante pour requêter :
'----------------------------------------------------
Dim bds As DAO.Database
Dim rst As DAO.Recordset
Set bds = OpenDatabase("U:\COMMUN\MOAL Panorama\PAPENEL\OATTEC10\TEC10.mdb",
False,False)
Req0$ "Select * From VerifInstrument Where INSTRUMENTID '" & p_IdDeal & "'"
Set rst = bds.OpenRecordset(Req0$)
'----------------------------------------------------
Jusque là c'est classique, après je traite les données que je récupère, enfin bon ca fonctionne bien sous excel.
Qd je migre le code sous VB6 j'ai une erreur qd la procédure arrive sur l'instruction :
Dim bds As DAO.Database
L'erreur est du type :
"Erreur de compilation : Type défini par l'utilisateur non defini"
J'imagine qu'il y a des compléments ou une librairie à importer en vba pour supporter le code propre à access(comme sous excel d'ailleurs), enfin je sais pas, donc si qlqu'un peut m'aider ce serait vraiment cool...
ZedMaTrix
Messages postés178Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention14 août 2008 7 mars 2007 à 12:21
Salut.
Tu doit ajouter dans les références de ton projet 'Microsoft DAO 2.5/3.51 Compatibility Library'.
Dans VB6, ouvre ton projet, puis dans le menu Projet -> Références
Dans la fenêtre, recherche Microsoft DAO 2.5/3.51 Compatibility Library et coche le.
eupeup
Messages postés57Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention24 avril 2013 7 mars 2007 à 14:56
Merci ZedMatrix, maintenant je n'ai plus ce type d'erreur, par contre VB6 me balance un nouveau message d'erreur lors de l'ouverture de la base :
C'est au niveau de l'instruction :
Set bds = OpenDatabase("U:\COMMUN\TEC10.mdb")
Et le message d'erreur est le suivant :
Erreur d'exécution 3343:
Format de base de données ('U:\COMMUN\TEC10.mdb') non reconnu
Là je comprends vraiment pas, parce qu'en VBA sous excel c'est exactement la même instruction, et je n'ai aucun problème, ca marche trop bien...
Si qlqu'un a une piste...!?!
domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010 7 mars 2007 à 15:07
bonjour
peut-être faut-il que tu réenregistres ta base mdb dans un format compréhensible par VB ? je crois que VB6 lit jusqu'à access2002 mais je n'en suis pas plus sûr que ça en fait...
bon courage
Allez voir mon site !
http://www.amis-marolles.org le site d'une association s'occupant de patrimoine et de traditions
Vous n’avez pas trouvé la réponse que vous recherchez ?
ZedMaTrix
Messages postés178Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention14 août 2008 7 mars 2007 à 19:11
Tout à fait domsig !
Il faut faire attention au format de la base Access. Moi sous windows 2000 avec Access 2000 Vb fonctionne, aprés je croix pas que ca fonctionne.
Convertis ( aprés avoir fais une sauvegarde ) ta base en access 2000