J'aimerais affiner une requête sql dans VB [Résolu]

Signaler
Messages postés
152
Date d'inscription
mardi 4 novembre 2008
Statut
Membre
Dernière intervention
10 avril 2017
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
Bonjour tout le monde,

J'ai ce code qui filtre les données d'une table par rapport à une certaine recette :
Set rsRecette BDOuvrirTable("SELECT detail_recette.* FROM detail_recette LEFT JOIN recette ON detail_recette.ref_recette recette.id WHERE recette.id = " & listRecettes(0).ItemData(listRecettes(0).ListIndex), True) 


J'obtiens donc ceci :

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /><title>Requête1</title><caption> Requête1 </caption>----
id |ref_recette |quantite |ref_ingredient |----
4, 2, 1, 2, ----
5, 2, 2, 3, ----
6, 2, 1, 4, ----
7, 2, 1, 5, ----
8, 2, 2, 6, ----
9, 2, 19, 1, <tfoot></tfoot>

je peux donc faire ceci :

ListCompositionRecette.Clear
ListCompositionRecette.AddItem rsRecette("quantite") &amp; " x


maintenant, j'aimerais ajouter le nom de l'ingrédient qui se trouve dans la table "ingredient" que voici :

<meta http-equiv ="Content-Type" content= "text/html;charset=UTF-8" /><title>ingredient</title><caption> ingredient </caption>----
id |nom |stock |----
1, eau, 10855, ----
2, gobelet, 443, ----
3, café soluble, 990, ----
4, poudre de cacao, 499, ----
5, poudre de lait, 0, ----
6, sucre soluble, 498, ----
7, soupe tomate, 74, ----
14, concentré d'oignon, 0, ----
15, goût céleri, 45, <tfoot></tfoot>

donc j'aimerais afficher ceci :

<meta http-equiv ="Content-Type" content="text/html;charset=UTF-8" /><title>ingredient</title>ListCompositionRecette.Clear
ListCompositionRecette.AddItem rsRecette("quantite") & " x & rsRecette("NomIngredient")

Sauriez-vous me dire comment je peux faire svp ?

Je vous en remercie d'avance.

beegees

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Voila le code de ta requete
qui etait mauvaise

Dim sql As String
sql "SELECT *FROM ingredient INNER JOIN (recette INNER JOIN detail_recette ON recette.id detail_recette.ref_recette) ON ingredient.id = detail_recette.ref_ingredient WHERE recette.id = " & listRecettes(0).ItemData(listRecettes(0).ListIndex)
Set rsRecette = BDOuvrirTable(sql, True)
While Not rsRecette.EOF
ListCompositionRecette.AddItem (rsRecette("quantite") & " x " & rsRecette("ingredient.nom"))
rsRecette.MoveNext
Wend
rsRecette.Close
Messages postés
152
Date d'inscription
mardi 4 novembre 2008
Statut
Membre
Dernière intervention
10 avril 2017
1
Salut nhervagault,

Merci pour ta réponse.

ça, c'est ce que j'appelle de la réponse.

ça fonctionne superbement bien, merci infiniment.

J'ai un peu de mal à comprendre ta chaine sql mais je vais l'analyser et faire des recherches sur google.

Encore bravo et merci.

beegeezzz
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Il faut aller dans le bon sens aussi.

recette --> detail --> ingredient.