Requête SQL

Signaler
Messages postés
10
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
31 août 2005
-
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
-
Bonjour ,
Je cherche à utiliser une requête 'rq1'dans la close 'where' d'une autre requête 'rq2',mais le problème c'est que je veux que la requête 'rq1' me renvoie une famille d'éléments càd ('champ1','champ2','champ3'...) pour pouvoir l'utiliser dans la close 'where' de la requête 'rq2'.
pour le moment la requête 'rq1' me renvoie un enregistrement que je sais comment faire pour le transformer!


Je vous remercie d'avance pour votre aide.

4 réponses

Messages postés
205
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
28 novembre 2005
2
Heuuuuuu!

excuse moi mais ce n'est pas très clair pour moi!
Peut tu me reexpliquer mieu?

A tout

PtitGrumo
Messages postés
31
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 février 2006

MiniMarch'
Messages postés
31
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 février 2006

Peux-tu donner ces deux requêtes, stp, avec le nom des champs ?
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
Salut,









Bon je vais supposer que tu as deux tables:



[ table 1 ]

id

a

b

id2 ---| qui fait référence au champ cle de la table 2

|

[ table2 ] |

cle <----

d

e

f



'

' les déclarations des variables sont à faire ...

'

Call ConnexionBase



' Executer la requête n°1

sql1= "SELECT a,b,c FROM table1"

Set rs1 = New ADODB.Recordset

rs1.Open sql1, cnx, adOpenStatic, adLockReadOnly



max1 = rs1.RecordCount

For i = 1 To max1



' construction de ta requete 2 avec les infos de requete 1

sql2 = "SELECT d,e,f FROM table2 WHERE cle=" & rs1("id")

Set rs2 = New ADODB.Recordset

rs2.Open sql2, cnx, adOpenStatic, adLockReadOnly



' Afficher les données de la table 1

Debug.Print rs1("a") & " " & rs1("b") & rs1("c")



max2 = rs2.RecordCount

For j=1 To max2

' Afficher les données associées dans la table 2

Debug.Print " => données associées : " & rs2("d") & " " & rs2("e") & " " & rs2("f")

rs2.MoveNext

Next j

rs2.Close

Set rs2 = Nothing



rs1.MoveNext

Next i



rs1.Close

Set rs1 = Nothing



Call FermerConnexionBase





Voilà se que j'ai compris de ton problème ... tiens moi au courrant,



++



Zlub