chaima01
Messages postés24Date d'inscriptionlundi 1 mars 2010StatutMembreDernière intervention11 novembre 2012
-
24 mai 2011 à 13:59
AlKatou
Messages postés95Date d'inscriptionvendredi 7 février 2003StatutMembreDernière intervention28 novembre 2017
-
24 mai 2011 à 18:44
bonjour ,
j'ai un msflexgrid et je veux le remplir par 2 requetes.
voici mon essai:
Rs.Open "select * from projet ", Cnn, adOpenKeyset, adLockOptimistic
If Rs.RecordCount > 0 Then
i = 1
Rs.AbsolutePosition = 1
MSFlexGrid1.Rows = 1
Do While Not Rs.EOF
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.TextMatrix(i, 1) = Rs.Fields("code_projet")
MSFlexGrid1.TextMatrix(i, 2) = Rs.Fields("designation_projet")
MSFlexGrid1.TextMatrix(i, 3) = Rs.Fields("Lot1")
MSFlexGrid1.TextMatrix(i, 4) = Rs.Fields("Lot2")
MSFlexGrid1.TextMatrix(i, 5) = Rs.Fields("date_bon_commande")
MSFlexGrid1.TextMatrix(i, 6) = Rs.Fields("typ_projet")
rs2.Open "select * from type_projet where typ_projet = '" & MSFlexGrid1.TextMatrix(i, 6) & "'", Cnn, adOpenKeyset, adLockOptimistic
If rs2.RecordCount > 0 Then
i = 1
rs2.AbsolutePosition = 1
MSFlexGrid1.Rows = 1
Do While Not rs2.EOF
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.TextMatrix(i, 6) = rs2.Fields("description")
rs2.MoveNext
Loop
End If
rs2.Close
i = i + 1
Rs.MoveNext
Loop
End If
Rs.Close
le problème c'est que seulement le champ type_projet qui contient la description qui se rempli
et les autres champs sont vide.
SVP aider moi
AlKatou
Messages postés95Date d'inscriptionvendredi 7 février 2003StatutMembreDernière intervention28 novembre 2017 24 mai 2011 à 18:44
salut,
le language SQL permet d'effectuer des connections entre tables appelées jointures. partant de là, au vue de tes 2 requêtes tu pouvais en faire qu'une seule. de cette façon, tu n'auras qu'une boucle de chargement
voici comment :
SELECT *
FROM PROJET LEFT JOIN TYPE_PROJET
ON PROJET.typ_projet = TYPE_PROJET.typ_projet
pour résumer, je prend tous les enregistrements de la table Projet, on y associe les enregistrement de la table TYPE_PROJET pour lesquels PROJET.typ_projet = TYPE_PROJET.typ_projet.
maintenant, à la place du "SELECT *", fais un Select de tes champs à afficher, tu y gagneras en ressources système.