Variables vba et requête sql

Résolu
kenru64 Messages postés 29 Statut Membre -  
kenru64 Messages postés 29 Statut Membre -
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

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