Variables vba et requête sql

Résolu/Fermé
kenru64 Messages postés 29 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 9 juin 2011 - 28 avril 2010 à 15:30
kenru64 Messages postés 29 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 9 juin 2011 - 29 avril 2010 à 09:37
bonjours a tous :),

voila ma question : comment récupérer les résultats d'un requête sql et les placer dans des variables vba?
j'ai pourtant réussi avec le max d'un champ d'une table :

select1 = " SELECT MAX(N°Cde) as maxfac FROM Commandes "
Set rst = db.OpenRecordset(select1, dbOpenForwardOnly, dbReadOnly) 'Ouverture du recordset
numcom = rst!maxfac

mais je ne sais pas comment procéder lorsque la requête renvoie plusieurs réponses (oui oui un peu boulé),
par exemple les références de la commande numéro X comment placer ces différentes valeurs dans des variables?? (voir dans une seul string à découper par la suite)

j'ai tenter ca:

Set db = CurrentDb

num = N°Cde.Value
MsgBox (num)
select1 = "SELECT référence FROM détailcommandebis WHERE N°Cde=" & num & ""
Set rst = db.OpenRecordset(select1, dbOpenForwardOnly, dbReadOnly)
result = rst

MsgBox (rst)

et au niveau de la derniere instruction je tombe sur un magnifique "argument non valide"

si c'est évident pour quelqu'un je suis preneur :D

2 réponses

kenru64 Messages postés 29 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 9 juin 2011 5
28 avril 2010 à 16:19
j'ai avancé un peu il y a du recordset la dessous... ^^
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 194
28 avril 2010 à 16:28
Bonjour,

Un recordset contient l'ensemble des tuples répondant à la requêtes.

Pour lire toutes les lignes et les stocker dans un tableau:

Dim mTableau()
Dim ind As Long

rst.MoveFirst
While Not rst.EOF
    Redim Preserve mTableau(ind)
    mTableau(ind) = rst.Fields(0)
    ind = ind + 1
rst.MoveNext
Wend


Bon courage

;o)
0
kenru64 Messages postés 29 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 9 juin 2011 5
29 avril 2010 à 09:37
nikel!!!! merci c'est donc bien du recordset :)
0