cs_tulesais
Messages postés177Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
5 juil. 2007 à 10:44
cs_tulesais
Messages postés177Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
5 juil. 2007 à 11:20
Bonjour,
j'ai un problème de gestion d'une procédure stockée qui me ramène plusieurs résultats.
Exemple : rst = "select * from table1 ; select * from table2"
ma boucle me permet de récupérer tous les enregistrements des deux résultats mais le problème
est lorsque le nombre de champs retournés n'est pas identique dans les deux résultats.
exemple : rst="select nom, prenom from table1 ; select nom from table2"
dans cet exemple, la boucle va me récupérer tous les enregistrements du premier résultats.
par contre pour le second résultat, j'ai une erreur lorsque je récupére le second champ qui est ... inexistant !!!
comment détecter l'inexistance de ce champ et continuer le traitement ?
Merci d'avance pour votre aide,
ps : j'espere avoir été assez clair...
Do Until Rst.State = 0
While Not Rst.EOF
msgbox Rst.Fields(0)
msgbox Rst.Fields(1)
Rst.MoveNext
Wend
Set Rst = Rst.NextRecordset
Loop
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 5 juil. 2007 à 11:10
De toute façon, je ne pense pas que ce soit vraiment optimal, et surtout, niveau programmation derrière, vraiment intuitif de faire 2 select dans le même recordset !
Pourquoi n'ouvre-tu pas deux recordset pour tes deux tables plutôt ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_tulesais
Messages postés177Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 5 juil. 2007 à 11:20
darksidious : ce sont des procédures stockées existantes qui tournent sur une appli ObjectView !
pour la réécriture de l'appli en vb, je n'ai pas envie de modifier les proc stocks :-)
en tout cas, le count fonctionne SUPER !!!
merci beaucoup !!!
Ligne = 0
Colonne = 0
Do Until Rst.State = 0
While Not Rst.EOF
Ligne = Ligne + 1
Colonne = 0
Do Until Colonne = Rst.Fields.Count
FlexGrid.textmatrix(Ligne, Colonne) = Rst.Fields(Colonne)
Colonne = Colonne + 1
Loop
Rst.MoveNext
Wend
Set Rst = Rst.NextRecordset
Loop