|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : août 2006 Messages : 25 ![]() |
Bonjour à tous,
Je vous écrit car je ne parviens pas, malgré mes multiple tentative, a utiliser convenablement les recordset ADODB permettant de mettre à jour une table access via les données contenu dans mon fichier excel. Je parviens bien à me connecter à la base access (aucun message d'erreur) mais lors de l'ouverture du recordset j'obtient un message d'erreur "Erreur de syntaxe dans la clause From" Voici mon code : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Inscription : novembre 2008 Messages : 188 ![]() |
Peut-être que l'erreur vient du moteur de bdd que tu utilises...
Avec Access 2003 et le moteur Jet, ça donne: Mais peut-être as-tu toi-même une version plus récente de Jet suivant ta version d'Office. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2006 Messages : 25 ![]() |
Hello,
Déjà merci de tenter de m'aider J'avais tenter d'utiliser le moteur jet "Microsoft.Jet.OLEDB.4.0" mais cela ne fonctionne pas pour se connecter sur une base access 2007. Je ne sais pas si le problème vient de la, quelqu'un connait il le moteur a utiliser avec ACCESS 2007 ? Merci Edit : Je ne tiens pas spécialement a garder mon code tel quel. Si vous connaissez une autre methode pour mettre à jour une base access 2007 depuis un fichier excel 2007, cela ne me gene absolument pas (bien que je pense que la methode ADODB soit la plus adapté) |
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() Inscription : novembre 2008 Messages : 188 ![]() |
Après une rapide recherche tu avais en fait raison d'utiliser ACE 12.0 puisque c'est la version du moteur Jet pour Office 2007 (cf. http://en.wikipedia.org/wiki/Microso...atabase_Engine).
Question bdd Access, je ne sais pas pourquoi tout le monde utilise ADO alors que DAO est plus indiqué (mais uniquement pour du Access). En effet, DAO est la bibliothèque pour Access et ADO pour tout fichier contenant des données en général. De ce que j'ai pu lire sur Internet par contre il n'y a pas de différence notoire en termes de performance (par contre je pense que pour bosser sur du Access, c'est de fait souvent plus direct avec DAO). Pour ce que tu veux faire, voilà ce que ça peut donner avec DAO (ne pas obliger de linker la bibliothèque correspondante): Code :
[EDIT] Je viens de lire pourquoi il est préférable d'utiliser ADO à DAO. D'ailleurs pour 2007 ce n'est plus DAO mais ACEDAO. Ceci dit, les avantages de DAO sont surtout au niveau de la gestion des modifications concurrentes ou des structures de tables un peu raffinées. Donc si tu n'es pas dans ce cas, la différence ne sera pas flagrante. Si l'anglais ne te pose pas de problèmes, plus de détails: http://stackoverflow.com/questions/1...in-access-2007 |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : août 2006 Messages : 25 ![]() |
Merci pour ta reponse.
Tu va rire, mais j'utilisais enormement les recordset DAO dans mon ancienne société, mais je ne l'avais j'amais utilisé pour me connecter sur une autre base access (J'utilisais les recordset en dao directement dans ma base access pour parcourir mes table). C'est vrai que si la syntaxe DAO fonctionne, cela m'arrangerai d'autant plus, (j'etais parti sur l'ADO en me disant que ca serait surement mieux adapté à mon objectif) Bref, Je vais essayer cela en rentrant ce soir et je te tiens au courant demain au maximum. Encore merci pour ton aide. Daimadoshi |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : août 2006 Messages : 25 ![]() |
Bon j'ai tenté d'utiliser DAO pour acceder a access mais ca ne marche pas.
En effet, il ne reconnais pas le type de BDD accdb. Je pourrais bien convertir ma base en ancienne version mais je trouve cela dommage. Voici mon code au cas ou : Code :
Merci Edit : Je ne peux meme pas revenir en version précédente car j'utilse quelque nouvelle fonctionnalité du nouveau format access et le logiciel n'accepte pas les conversion dans ce cas. Je suis dessus depuis hier et j'avou commencer a vraiment galerer sur ce soucis... Merci d'avance pour votre aide |
||
|
|
00
|
|
|
#7 |
![]() ![]() Alain GerardConsultant informatique Inscription : mai 2005 Messages : 3 675 ![]() |
Bonjour,
Et en supprimant le point-virgule de ton premier code, ça donne quoi?
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres! Pensez aussi à voter pour les réponses qui vous ont aidés. ------------ Je dois beaucoup de mes connaissances à mes erreurs! |
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Inscription : novembre 2008 Messages : 188 ![]() |
Et c'est normal parce que la bibliothèque DAO n'est plus utlisée depuis Office 2007. L'équivalent est ACEDAO (normalement tu devrais pouvoir la linker, moi je ne peux pas vérifier parce que je suis sous 2003).
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : août 2006 Messages : 25 ![]() |
Bonjour tous le monde,
Je viens pour vous tenir au courant, car j'ai trouvé l'origine du soucis (bien caché lol). En fait, tout mon code etait bon (celui utilisant l'ADO) mais j'avais une erreur sur ma requete SQL car ma table utilisait des nouveaux format accessible uniquement depuis ACCESS 2007 (je ne sais plus lequel exactement, une liste de valeur je crois). Bref j'ai reussi a corriger mon problème en créant une table identique hormis le type de champ non supporté, et cela a fonctionné parfaitement. En tout cas merci a vous d'avoir tenté de m'aider. Bonne journée à tous ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com