begin process at 2013 05 23 13:49:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

Access

 > 

Se connecter à une base Access avec ADOX


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Se connecter à une base Access avec ADOX

jeudi 12 juillet 2012 à 22:29:36 | Se connecter à une base Access avec ADOX

BasicZx81

Bonjour,
j'ai un problème pour me connecter à une base Access en utilisant ADOX. (ADOX me permet de créer ou modifier la structure de la base (Ajout de tables, colonnes, relations....etc)).

En fait pour comprendre mon problème il faut comprendre plusieurs chose :
1- Il y a un un problème d'incompatibilité descendante de la référence "Microsoft Data Objects xx Library" (nécessaire pour instancier une connexion ADODB.
Ce qui veux dire qu'une application compilé à partir de Win7 SP1 ne peux pas fonctionner sur les versions de Windows antérieur.
Source : Tapez le texte de l'url ici.

2- J'ai essayé plusieurs fois de recompiler mon projet à l'aide du correctif proposé par Microsoft sans succès.

Voici le code :
Code Visual Basic :
Dim Cnx As New ADODB.Connection ' Ce code lève une exception sur les versions de windows anterieur à Win7 SP1.
Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & PathName & ";Jet OLEDB:Database Password=" & PASSWORDdb & ";"
Cnx.ConnectionString = Connstr
 
Dim Catalog As ADOX.Catalog
Cnx.Open()
Catalog.ActiveConnection = Cnx


A t'on vraiment besoin de cette référence qui ne sert quasiment dans mon code sauf pour fournir une connexion au catalogue ADOX ?

Merci beaucoup si vous pouvez m'aider. Je cherche partout depuis plusieurs semaine sans trouver une solution.
vendredi 13 juillet 2012 à 02:33:14 | Re : Se connecter à une base Access avec ADOX

cmarcotte

Réponse acceptée !
Bonjour,


Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & PathName & ";Jet OLEDB:Database Password=" & PASSWORDdb & ";"
Cnx.ConnectionString = Connstr



Pour un Access 2007 ou 2010 commence par remplacer
le moteur Jet par le moteur ACE.

Si ce n'est pas assez, essaie ceci :
Clique sur le menu Générer - Va dans le gestionnaire de configuration et choisis x86 au lieu de AnyCpu. Au lieu d'avoir une application 64 bits, tu vas avoir une application 32 bits, mais cela devrait quand même marcher pour un bout.

vendredi 13 juillet 2012 à 15:48:56 | Re : Se connecter à une base Access avec ADOX

BasicZx81

Bonjour et merci de m'avoir répondu.
J'ai réussi à faire fonctionner mon programme sous Windows XP x32. Pour une raison inconnue le problème persistait malgré l'installation du correctif sur mon pc de développement (Windows 7 x64) suivi d'un redémarrage et d'une recompilation du projet.
Cela c'est mis à fonctionner 3 jours après (Entre temps mon pc s'est mis à jour, bien que je n'ai vu aucun rapport entre ces mises à jours et MDAO).

Bref, pour éviter ce genre de désagrément je me suis intéressé au moteur ACE qui semble être un bon choix pour l'avenir. En revanche, (merci de me corriger si je me trompe) ce moteur n'est pas inclus dans Windows. Celui-ci doit être installé avec Microsoft Access ou avec Microsoft Access 2010 Runtime ou avec Microsoft Access 2010 Redistribuable.
Le Moteur Microsoft Jet est quant à lui intégré depuis les versions Windows 2000 jusqu’à Windows Vista. Concernant Windows 7 x32 et x64, mon programme fonctionne donc a priori le moteur Jet est installé mais est t'il vraiment intégré a Windows7 SP1 x32 et x64) ?

l'utilisation du moteur ACE me permet t'il de supprimer la référence .COM MDAO ?
Dans ce cas qu'elle connexion dois-je fournir a la propriété Catalog.ActiveConnection ?

Merci à vous si vous pouvez m'apporter votre aide une nouvelle fois.
vendredi 13 juillet 2012 à 18:10:35 | Re : Se connecter à une base Access avec ADOX

cmarcotte

Réponse acceptée !
Bonjour,


Bref, pour éviter ce genre de désagrément je me suis intéressé au moteur ACE qui semble être un bon choix pour l'avenir. En revanche, (merci de me corriger si je me trompe) ce moteur n'est pas inclus dans Windows. Celui-ci doit être installé avec Microsoft Access ou avec Microsoft Access 2010 Runtime ou avec Microsoft Access 2010 Redistribuable.



Je crois bien que oui. Access 2007 et Access 2010 sont incompatibles avec le moteur Jet. Je n'ai plus Access et je ne peux pas essayer le moteur ACE avec Access 2002 ou Access 203.


Concernant Windows 7 x32 et x64, mon programme fonctionne donc a priori le moteur Jet est installé mais est t'il vraiment intégré a Windows7 SP1 x32 et x64) ?



Je ne sais pas s'il vient avec Windows 7, mais je sais qu'il a été exclu de MDAC à un certain moment. Il y a peut-être moyen de le télécharger à partir du centre de téléchargements de Microsoft.


l'utilisation du moteur ACE me permet t'il de supprimer la référence .COM MDAO ?
Dans ce cas qu'elle connexion dois-je fournir a la propriété Catalog.ActiveConnection ?



Comme j'ai dit plus haut, je n'ai plus Access. Cependant avec VB.net on peut en principe agir directement sur la Base de données au moyen d'instructions SQL. Il faudrait tester de cette façon.
samedi 14 juillet 2012 à 11:21:57 | Re : Se connecter à une base Access avec ADOX

BasicZx81

Merci beaucoup cmarcotte.
Hélas je maîtrise mal les instructions SQL, pour l'instant je continue avec ADOX.
Ces informations me serviront en cas de problèmes de compatibilité, j'utiliserais à ce moment là le moteur ACE.
Pour l'instant je conserve JET puisque cela fonctionne grâce au correctif et que ça ne me gène pas de travailler sur une base Access antérieur à 2007, on verra à l'avenir comment évolue les versions de Windows. Si Jet n'est plus du tout supporté, j'utiliserais le moteur Jet en espérant. Visiblement Microsoft a assuré une compatibilité descendante avec le code VB.NET.


Cette discussion est classée dans : base, code, microsoft, cnx, adox


Répondre à ce message

Sujets en rapport avec ce message

ajouter un enregistrement dans une bbd firebird en vba [ par vience ] boujour, je suis en train de développer un projet en vba et pour les besoins de la cause je suis passer d'une base dans excel a une base de donne fir appendchunk code microsoft qui ne s'execute pas [ par arilanto ] salut !je dois insérer les datas d'un fichier(de tout type) dans une base oracle sous VB6.pour çà, j'ai trouvé du code sur la Base de connaissance Mic Code à verifier - Base de données - Flexgrid [ par crocmorts ] Pourriez - vous jeter un coups d'oeil, Affichage complet d'une base de donnée dans un flexgrid.Je voudrais que ce flex soit dynamique et pas statique, chemin base de donnée [ par thomasaurelien ] Bonjour, j'ai 1 solution avec 2 projet intégré. L'un deux appelé DAO est la partie qui gère la connexion à la base de donnée pour cela j'ai un attribu [Catégorie modifiée VBS -> VBA] Coller une ligne à la derniere ligne d'un autre tableau. [ par azertym ] Bonjour à tous, J'ai un petit problème concernant le copier coller entre 2 classeurs. Je souhaite coller la ligne 2 du classeur code.xls à la fin du création table ACCESS [ par thomasaurelien ] Voila je voudrais créer des tables dans ma base ACCESS mais je sais pas où placer mon code car d'après se que j'ai vu sur les sites il y a plusieurs erreur de connexion base de données [ par ziedm90 ] salut , je développe une application en vb.net (j'utilise visual basic 2010 express) ,la base de donnée à été crée avec access 2007 voilà le code qu connexion à la base dans le code VB.net [ par sokrat12 ] j'ai trouvée une difficulté pour la connexion à la base de donnée avec sql sevrer 2005, comment je peut connecter à ma base dans le code VB.net(j'ai u code bouton"ajouter" dans la base de donné access 2007 [ par zannoubia ] bonjour a tous je suis une etudiente et c'est la premiere fois que j'utlise le vb mon prombleme c'est de cherche le code de bouton ajout(nom ,prenom , Récuperer et convertir une chaine de caractère [ par daerken ] Bonjour à tous, [code=vb]lampe = Microsoft.VisualBasic.Right(Text2Display, 6) Dim gauche = Microsoft.VisualBasic.Left(lampe, 2)


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,271 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales