J'aimerais affiner une requête sql dans VB

Résolu
beegeezzz Messages postés 152 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 10 avril 2017 - 28 déc. 2008 à 14:55
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 29 déc. 2008 à 09:24
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 déc. 2008 à 18:08
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
3
beegeezzz Messages postés 152 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 10 avril 2017 1
28 déc. 2008 à 18:15
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
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 déc. 2008 à 09:24
Il faut aller dans le bon sens aussi.

recette --> detail --> ingredient.
0
Rejoignez-nous