Variables vba et requête sql

Résolu
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. j'ai avancé un peu il y a du recordset la dessous... ^^
    0
    1. 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. nikel!!!! merci c'est donc bien du recordset :)
        0