Variables vba et requête sql

Résolu
kenru64 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
kenru64 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

2 réponses

kenru64 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   5
 
j'ai avancé un peu il y a du recordset la dessous... ^^
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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   Statut Membre Dernière intervention   5
 
nikel!!!! merci c'est donc bien du recordset :)
0