Résultats de requête Sql en Vba
Résolu
1Globule
Messages postés
62
Date d'inscription
Statut
Membre
Dernière intervention
-
1Globule Messages postés 62 Date d'inscription Statut Membre Dernière intervention -
1Globule Messages postés 62 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé un requête Sql dans mon Vba, et j'affiche ensuite le résultat dans un msgbox.
Aucun problème quand il y a une seule ligne de résultat, mais comment faire pour afficher toutes les lignes quand il y en a plusieurs ?
Le code sera plus parlant :
Merci beaucoup pour votre aide !
J'ai créé un requête Sql dans mon Vba, et j'affiche ensuite le résultat dans un msgbox.
Aucun problème quand il y a une seule ligne de résultat, mais comment faire pour afficher toutes les lignes quand il y en a plusieurs ?
Le code sera plus parlant :
Dim Requete As String Requete = "" ORACLE_CONNECTION = "XXX" ORACLE_INSTANCE = "XXX" Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.dbOpenDatabase(ORACLE_INSTANCE, ORACLE_CONNECTION, 0&) Requete = "Select c.dat, sum(c.mt) From client c " Set OraDynaset = OraDatabase.dbcreatedynaset(Requete, 0&) dat = OraDynaset.Fields(0).Value mt = Format(Replace(OraDynaset.Fields(1).Value, ".", ","), "0,00.00") MsgBox dat & " : " & mt
Merci beaucoup pour votre aide !
A voir également:
- Résultats de requête Sql en Vba
- Resultats foot - Télécharger - Vie quotidienne
- Lexer resultats - Télécharger - Sport
- Logiciel sql - Télécharger - Bases de données
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
5 réponses
Bonjour,
en adaptant ceci à ton cas:
en adaptant ceci à ton cas:
Dim i As Integer Dim message As String For i = 1 To 5 message = message & i & vbLf 'retour à la ligne Next MsgBox message
Merci bien, c'est une partie de la solution.
Le problème maintenant, c'est que mes variables "dat" et "mt" correspondent à la première ligne de résultat.
S'il y a deux lignes, "dat" doit avoir deux valeurs et "mt" aussi.
Et je n'arrive pas à afficher les deux valeurs...
Le problème maintenant, c'est que mes variables "dat" et "mt" correspondent à la première ligne de résultat.
S'il y a deux lignes, "dat" doit avoir deux valeurs et "mt" aussi.
Et je n'arrive pas à afficher les deux valeurs...
oui, j'obtiens un msgbox avec ceci :
18/01/2019 : 500
C'est déjà super, mais il n'y a pas la deuxième ligne de résultat (qui devrait être : 14/01/2019 : 100).
D'un côté c'est plutôt logique, il me semble que les variables n'ont qu'une valeur dans mon code :
dat = OraDynaset.Fields(0).Value
mt = Format(Replace(OraDynaset.Fields(1).Value, ".", ","), "0,00.00")
Comment leur donner la deuxième valeur aussi, s'il y a deux lignes ? ou les trois valeurs s'il y a trois lignes etc ?
18/01/2019 : 500
C'est déjà super, mais il n'y a pas la deuxième ligne de résultat (qui devrait être : 14/01/2019 : 100).
D'un côté c'est plutôt logique, il me semble que les variables n'ont qu'une valeur dans mon code :
dat = OraDynaset.Fields(0).Value
mt = Format(Replace(OraDynaset.Fields(1).Value, ".", ","), "0,00.00")
Comment leur donner la deuxième valeur aussi, s'il y a deux lignes ? ou les trois valeurs s'il y a trois lignes etc ?
Je touche au but ! Mais mes variables sont écrasées à chaque passage, dans la boucle.
Dans le lien il les affiche dans des cellules, ce qui paraît plus simple.
En debug :
For x = 0 To oraDynaSet.RecordCount - 1
dat = oraDynaSet.Fields(0).Value ' Au premier passage : "18/01/2019", au deuxième : "14/01/2019"
mt = oraDynaSet.Fields(1).Value ' Au premier passage : "500", au deuxième : "100"
oraDynaSet.MoveNext
Next
Et mon msgbox n'affiche que la dernière valeur de chaque variable...
Dans le lien il les affiche dans des cellules, ce qui paraît plus simple.
En debug :
For x = 0 To oraDynaSet.RecordCount - 1
dat = oraDynaSet.Fields(0).Value ' Au premier passage : "18/01/2019", au deuxième : "14/01/2019"
mt = oraDynaSet.Fields(1).Value ' Au premier passage : "500", au deuxième : "100"
oraDynaSet.MoveNext
Next
Et mon msgbox n'affiche que la dernière valeur de chaque variable...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question