Sauriez-vous m'aider pour créer ma chaine sql svp ?

beegeezzz Messages postés 152 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 10 avril 2017 - 2 janv. 2009 à 17:07
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 2 janv. 2009 à 23:00
Bonjour tout le monde et bonne année,

j'ai trois tables que voici :

<meta http-equiv= "Content-Type" content="text/html;charset=UTF-8" /><title>recette</title><caption> recette </caption>----
id |nom |prix |----
2, cappucino + extra-sucre, 0,65, ----
4, café normal, 0,5, ----
5, soupe à l'oignon, 0,85, ----
7, Soupe de café, 1,5, ----
9, Soupe aux choux, 1, ----
10, Soupe au trognion, 10, ----
11, Soupe de pigeon, 40, <tfoot></tfoot>

<meta http-equiv ="Content-Type" content= "text/html;charset=UTF-8" /><title>ingredient</title><caption> ingredient </caption>----
id |nom |stock |obligatoire |----
3, café soluble, 992, -1, ----
14, concentré d'oignon, 1, 0, ----
1, eau, 10896, -1, ----
2, gobelet, 445, -1, ----
15, goût céleri, 47, 0, ----
19, pigeon, 34, 0, ----
4, poudre de cacao, 499, -1, ----
5, poudre de lait, 0, -1, ----
7, soupe tomate, 76, 0, ----
6, sucre soluble, 498, -1, ----
17, Vanille, 300, 0, <tfoot></tfoot>

<meta http-equiv ="Content-Type" content="text/html;charset=UTF-8" /><title>detail_recette</title><caption>detail_recette</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, ----
17, 4, 22, 1, ----
18, 4, 1, 2, ----
19, 4, 2, 3, ----
22, 5, 1, 2, ----
23, 5, 18, 1, ----
25, 5, 2, 14, ----
26, 5, 1, 15, ----
33, 7, 1, 2, ----
34, 7, 20, 1, ----
35, 7, 1, 15, ----
36, 7, 1, 14, ----
37, 7, 2, 3, <tfoot></tfoot>

Je voudrais augmenter la quantité d'un ingrédient choisi par rapport à une certaine recette.

Dois-je pour cela utiliser une jointure ?

Sauriez-vous "me mettre sur la piste svp ?"

Je vous en remercie 100000 fois.

beegeezzz

4 réponses

beegeezzz Messages postés 152 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 10 avril 2017 1
2 janv. 2009 à 17:23
Re,

J'ai tenté ceci, mais sans succès :
SELECT * FROM detail_recette WHERE detail_recette.ref_recette 10 AND detail_recette.ref_ingredient 2

Merci
beegeezzzz
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 janv. 2009 à 17:53
Rebonjour,


Si relation il y' a , ça doit être entre recette et detail_recette.
Mais je pense que tu n' as pas besoin de jointure.Tu agis directement dans la table concernée.


Avec un UPDATE avec et un ou plusieurs critères ça devrait aller..


UPDATE detail_recette set detail_recette.quantite=" & xQte & _
where detail_recette.id=" & xid & " AND " & _
" detail_recette.ref_ingredient=" & xRef





<hr />




[] Ce qui va sans dire. va mieux en le disant.


<hr />
0
beegeezzz Messages postés 152 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 10 avril 2017 1
2 janv. 2009 à 18:20
Rebonjour Libre_Max,

Merci pour ta réponse.

En fait, je travaille le code en VB et j'update en DAO avec recordset :

rsAjoutIngredient.Edit
rsAjoutIngredient("quantite") = rsAjoutIngredient("quantite") + QuantiteDe
rsAjoutIngredient.Update

Ma chaine SQL vaut ceci :
SELECT * FROM detail_recette WHERE detail_recette.ref_recette 5 AND detail_recette.ref_ingredient 5

avec ce code :
sql "SELECT * FROM detail_recette WHERE detail_recette.ref_recette " & listRecettes(0).ItemData(listRecettes(0).ListIndex) & " AND detail_recette.ref_ingredient = " & IDDeLIngredient

et quand j'essaie en Access, j'obtiens aucune ligne.

Merci d'avance pour l'aide.

beegees
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 janv. 2009 à 23:00
Excusez du retardn j' ai du m' absenter.


Au vu de ton code, je dirais que c' est du pareil au même.
En suivant mon raisonnement, tu as le chois entre:
-sql="SELECT * FROM detail_recette"
  ensuite rechercher l' enregistrement qui répond au critère
et faire ton update.
 - ou bien, sql "SELECT * FROM detail_recette WHERE" & _ "detail_recette.ref_recette " & _
  CInt(listRecettes(0).ItemData(listRecettes(0).ListIndex)) & _  " AND detail_recette.ref_ingredient = " & IDDeLIngredient


   et là ta requete retournera ou bien un et un seul enregistrement
 ou rien.
   Il ne te reste plus qu' à tester sur recordcount.
 Si c' est > 0, tu es sûr alorsavec un MoveFirst tu es sûr alors
de tomber sur le bon.Tu updates donc.
Remarques  ton code pour l' update est bon.


NB:Convertion oblige, si ton champ est de type long, remplaces CInt() par CLng().
Autres chose , ton rsAjoutIngredient doit être de type dynamic (Dynaset)




  





<hr />




[] Ce qui va sans dire. va mieux en le disant.


<hr />
0
Rejoignez-nous