LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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
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.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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)