Stocker les résultats d'une requête dans un tableau

Signaler
Messages postés
4
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
3 février 2005
-
Messages postés
4
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
3 février 2005
-
Bonjour,

Je souhaite stocker les résultats de la requête suivante dans un tableau pour pouvoir ensuite executer une opération SQL avec chaque résultat. L'idée c'est donc de les mettre dans un tableau pour pouvoir les sortir un par un avec une boucle (si vous avez mieux je suis preneur). Auriez-vous un exemple simple ?

Voici où j'en suis, j'ai juste la requête de départ qui me donne tous les "origine_id" qui m'intéressent...

Private Sub Commande332_Click()

Dim sqlcmd As String sqlcmd "SELECT origine_id FROM dbo.UNI_TIT_notice_TIT_notice WHERE (destination_id '" & num_id & "')"

End Sub

3 réponses

Messages postés
71
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
21 octobre 2008

SALUT
t 'es bien connecté a ta base sql ?
tu utilise un recordset ??

si oui alors tu peux faire un truc du genre
----------------------------------
Dim conn As New adodb.Connection ' connection de la base

Dim rs As New adodb.Recordset ' recordset sur la base
Dim sqlcmd As String
sqlcmd "SELECT origine_id FROM dbo.UNI_TIT_notice_TIT_notice WHERE (destination_id '" & num_id & "')"

Set rs = Nothing
If rs.State <> 0 Then
rs.Close
End If
Set rs = conn.Execute(sqlcmd)
' parcours du resultat de la requete
if rs.eof<> false then rs.MoveFirst

do while not rs.eof
MsgBox rs(0)
rs.MoveNext
loop

Voila , si tu capte pas trop je peux te faire un bout de code, avec connection a la base + requete, + parcours de resultat ... contact moi





salut



espadon
Messages postés
4
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
3 février 2005

Merci espadon ça marche !

Sauf que j'ai du virer le morceau
If rs.State <> 0 Then
rs.Close
End If

Car j'obtenais un message d'erreur "Variable objet ou variable de bloc With non définie"...
Est-ce que je peux me passer de ce bout de code ? Pour l'instant ça marche en tout cas...

Merci encore,

JKE
Messages postés
4
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
3 février 2005

Voilà tout le code VBA qui fonctionne parfaitement maintenant :

Private Sub Commande332_Click()
Dim sqlcmd As String
Dim rs As Recordset
sqlcmd = "SELECT colpub_id " & _
"FROM dbo.UNI_TIT_notice_TIT_notice " & _
"WHERE (destination_id = '" & num_id & "')"

Set rs = Nothing
Set rs = CurrentProject.Connection.Execute(sqlcmd)
If rs.RecordCount = 0 Then
rs.Close
MsgBox "Aucune notice n'est indexée à cette collection"
Exit Sub
End If
' parcours du resultat de la requete
If rs.EOF <> False Then rs.MoveFirst
Do While Not rs.EOF CurrentProject.Connection.Execute "UPDATE UNI_TIT_notice_TIT_notice SET destination_id '" & num_id & "' WHERE colpub_id '" & rs(0) & "'"
rs.MoveNext
Loop
MsgBox "Mise à jour effectuée", vbInformation + vbOKOnly, ""
End Sub

MERCI !!!!!!