Insèrer dans une table un recordset

Résolu
Fiston53 Messages postés 27 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 avril 2006 - 29 mars 2006 à 17:43
zorglube91 Messages postés 1 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 24 mars 2010 - 24 mars 2010 à 16:27
Bjr,
Comment remplir une table Access avec le contenu d'un recordset?
J'ai réussi avec l'aide d'un pro à faire une connexion ADODB, et de remplir un recordset.
Mon problème maintenant est de transférer ces info contenu dans le recordset dans une table access?
Merci
A voir également:

32 réponses

Fiston53 Messages postés 27 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 avril 2006
3 avril 2006 à 09:47
Bonjour RV et JP,
j'espère que le wk à été bon, et reparti pour une semaine de travail!!!
concernant mon problème, je vous rassure ca marche mais il y a encore un petit truc en plus (jamais satisfait le fiston).
Je fais le SELECT et l'import sur une table de 900 000 lignes, donc un peu long,j'aimerais faire un WHERE sur ma requete, mais ca ne marche pas (merci FoxPro !!!).
Mon champ à contraindre est de type Date, donc je pense que ma syntaxe est mauvaise.

rsJeu.Open "SELECT * FROM GPMOURES WHERE [MV_DMOU] > '#01/01/2006#'"

Qu'en pensé vous?
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
3 avril 2006 à 10:55
Salut Fiston,

bon week-end en effet, mais ici à GRENOBLE, il pleuvait un peu (c'est pas grave, la pluie, c'est bien aussi). En ce qui concerne "jamais satisfait", c'est aussi ma devise ! (quelle coincidence!)

pour ta requête avec ta clause WHERE, enlève les apostrophes autour de la date!

rsJeu.Open "SELECT * FROM GPMOURES WHERE [MV_DMOU] > '#01/01/2006#'"

et assures-toi que, dans ta table source, les dates sont bien des dates! Si elles ne sont que des représentations littérales de date, il va te falloir les transformer en date.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
3 avril 2006 à 10:59
Quand un critère est de type Date, il doit être saisi sous la forme #04/03/2006#, C'est à dire #mm/jj/aaaa# ou #11:00:00# c'est à dire #hh:mm:ss#. Il ne faut pas mettre de cotes et il faut bien penser à la forme anglaise de la date.
Bon courage!...
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
3 avril 2006 à 11:20
Salut jperre,

bien vu le format anglais!

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0

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

Posez votre question
Fiston53 Messages postés 27 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 avril 2006
3 avril 2006 à 12:04
Dans mon cas, je veux selectionner juste les enregistrements de 2006,donc je supprime le pblm de format (01/01/2006 est bon pour les deux format).
alors j'ai fais plusieur test :

Le code suivant marche :
rsJeu.Open "SELECT MV_ORI,MV_DMOU,MV_CART,MV_LOCD FROM GPMOURES

mais qd j'ajoute un critère :
rsJeu.Open "SELECT MV_ORI,MV_DMOU,MV_CART,MV_LOCD FROM GPMOURES WHERE MV_DMOU > #01/01/2006#"


N°d'erreur : Erreur d'exécution '-2147467259(80004005)':


Message : [Microsoft][ODBC Visual FoxPro Driver]Missing operand.

Moi je ne comprend pas !!!
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
3 avril 2006 à 12:16
C'est ce que je disais,
il est possible que dans ta table dbf, le champ MV_DMOU ne soit pas un type Date (vérifies les données que tu y vois), ou pire, que le driver ne sache pas interprêter la comparaison de Date (surtout avec les #). Essayes éventuellement d'enlever les # (donc de traiter des numériques, en enlevant aussi les /), ou de remplacer les # par des apostrophes (donc de traiter des chaines, en enlevant aussi les /).

Enfin, bref, fais nous voir un échantillon de données (en insérant un debug.print bien placé, et bien concaténé pour n'avoir qu'une ligne par enregistrement, et en nous postant le contenu du debug.print), que l'on puisse voir à quoi ressemblent ces données, et te donner la meilleur façon de les filtrer.

Le plus simple reste de faire un import complet, et ensuite, sur cet import, faire une requête filtrée (mais bon 900 000 !).


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
Fiston53 Messages postés 27 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 avril 2006
3 avril 2006 à 14:13
J'ai fais différents test,
WHERE MV_DMOU > #01012006# " => ancien message d'erreur
WHERE MV_DMOU > '01012006' " => nouveau message d'erreur
WHERE MV_DMOU > 01/01/2006 " => nouveau message d'erreur

nouveau message d'erreur:
N°d'erreur : Erreur d'exécution '-2147217913(80040e07)':
Message : [Microsoft][ODBC Visual FoxPro Driver]Operator/operand type misatch.

J'ai peur que foxpro ne gère pas les > ou < et meme pas le =
sinon mon debug print sur la requete SQL sans WHERE me donne :
11588 19/07/2002 25631090
11588 19/07/2002 25693109
Donc je suppose que MV_DMOU est de type date.
A tu une autre idée?
0
Fiston53 Messages postés 27 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 avril 2006
3 avril 2006 à 15:26
BRAVO !!!
la solution final qui marche :
MV_DMOU > {01/01/2006}"
Merci pour ts RV, et merci pour ton aide jperre
Me voila enfin satisfait !!!
Plus cas finaliser mon projet ...
Heureusement qu'il existe des gars comme vs qui maîtrise le code!!!
(au faite RV, il y a un peu de soleil sur rennes !!!)
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
3 avril 2006 à 15:33
tu cherches à me faire croire au Père Noël :)
nous aussi, il revient (mais alors, il est super grand le soleil !)

à+, fiston

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
zorglube91 Messages postés 1 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 24 mars 2010
24 mars 2010 à 16:27
bonjour à tous,
j'ai bien vu que le message date de 2006 mais merci quand même rvblog pour sa solution qui marche super bien pour faire un transfert recordset via ODBC vers table access
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
30 mars 2006 à 09:31
Et pour cause car vous avez appelé votre connection ConBase et non pas oConn!...
-1
Fiston53 Messages postés 27 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 avril 2006
30 mars 2006 à 10:05
Ok, maintenant j'ai une autre erreur :
Erreur d'exécution '424': Objet requis

sur le lancement de la requette!!
Mais cela avance qd meme !!
-1