Pb de récupération avec VBA et oracle

Résolu
oxbowmaster Messages postés 4 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 30 juin 2005 - 29 déc. 2004 à 17:32
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012 - 4 janv. 2005 à 12:56
Bonjour à tous,
je voudrais savoir si quelqu'un peut m'expliquer pour quoi je n'arrive pas à récupérer la valeur des champs par un recordset, dans une appli vba et sur une base oracle 8i.

La connection à la base se fait bien, les appels de requêtes ne plantent pas mais mes recorset sont vides.

En plus je ne connais pas grand chose à oracle.

merci d'avance...

5 réponses

oxbowmaster Messages postés 4 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 30 juin 2005
4 janv. 2005 à 12:36
Merci pour tes réponses, mais j'ai enfin trouvé mon problème:

ce qui ce passait, c'est que lorsque j'exécutais mes scripts d'insert dans la base, je ne faisais pas de COMMIT en fin de script.
Donc, je pensais que tout était passé mais en fait c'était seuleument en temporaire et ca n'apparaissait pas dans mes tables.

donc ne pas oublié les COMMIT.........................

ps: j'avais prévenu, j'y connais pas grand chose à oracle,
et encore merci....

carpe diem
3
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
29 déc. 2004 à 20:40
Quand tu dis que tu n'arrive pas à récupérer les valeurs des champs par un recordset...

J'ai jamais eu de pb avec Oracle si ce n'est sur la déclaration des types et des formats.

As tu attaché une table pour verifier...que tu accedes bien aux données.
As tu une gestion d'erreur qui empêcherait l'affichage d'une erreur sql ?
As tu choisi le bon pilote ODBC

Difficile de t'en dire plus compt tenu de tes explications.

Elimines l'impossible et la vérité, même absurde, verra le jour
Sir Arthur Conan Doyle
madbob
0
oxbowmaster Messages postés 4 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 30 juin 2005
30 déc. 2004 à 00:44
Je pense que j'ai bien tous fait puisque avec sql+ worksheet, j'ai acces a mes données quand je fais un select.

Mais qu'entend tu par attacher les tables....;

Quand à la gestion d'erreu, le logiciel marche avec sql server et c'est un portage à oracle que je dois effectuer.
0
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
30 déc. 2004 à 10:28
J'ai extrapolé que tu utilisais Access (vba)...et dans Access tu attaches les tables (en lecture ecriture) en fonction des droits.

Remarque si vous avez access, c'est peut être une solution simple pour faire ta mise à jour de base à base...Tu l'utilises comme interface tu attaches les tables de la base1 et de la base 2 et tu faits les mises à jour par un des requete de mise à jour.

A priori vous avez les pilotes ODBC qui vont bien.

Une application vba peut utiliser et forcer la gestion des erreurs. En principe un programme sort de son traitement ou est redirigé vers le traitement d'une erreur.

Exple :
on error resume next... on error go to
Si ta requete ne ramène rien tu vas avoir une erreur 3065 ou un sql 100 sous oracle. Si tu pratiques dans ton code VBA le on error resume next, tu passera sur l'erreur sans la voir et ton recordset resterai vide. c'est ce que j'ai voulu dire par gestion des erreurs

As-tu Essayé d'instancier un recordset sur un select simple ?

As-tu essaye de récupérer l'erreur (y en a peut être pas) au différentes étape de construction de l'instenciation jusqu'aux fetch :

msgbox err.number &"#"& err.description.

madbo
0

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

Posez votre question
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
4 janv. 2005 à 12:56
Bin oui tu parles de select... :-)))



Effectivement une transaction d' insert, d'update et de supression n'est valide qu'après un commit sous Oracle... Sous Db2 aussi



Un bémol le truncate nomTable qui purge la table n'est pas réversible
(pas de rollback segment) et ne necessite pas de commit pour être
validé.


Bon code et bonne année
madbob
0
Rejoignez-nous