salut;
je suis toujours avec la gestion de stock,et j'ai un problème concernant ma table: fiche de stock (FicheStocks) avec:
FicheStocks(NumFiche,CodPrd,Dat,Sortie,Stk,...)
chaque produit a une fiche de stock,à chaque distribution d'un produit je veux mettre la date, la quantité livrée du produit et le stock restant dans la table FicheStocks,
j'ai essayé le code suivant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| dm1.FicheStocks.Active;
dm1.FicheStocks.Append;
dm1.FicheStocks.First;
while not(dm1.FicheStocks.Eof)do begin
if (dm1.FicheStocks.FieldValues['CodPrd']=rech )then begin //rech contient le code de produit saisi
break;
end else
dm1.FicheStocks.Next;
end ;
dm1.FicheStocks.FindNearest([rech]);
dm1.FicheStocks.Edit;
dm1.FicheStocks.FieldByName('Dat').AsString:= maskedit1.Text; // date de distribution
dm1.FicheStocks.FieldByName('Sortie').AsString:= edit3.Text; //quantité livrée
dm1.FicheStocks.FieldByName('Stk').AsInteger:= strtoint(dbgrid1.Fields[4].Text)- strtoint(edit3.Text);// mon stock aprés distribution
dm1.FicheStocks.Post; |
mais à chaque nouvelle distribution, les valeurs des champs a remplir crasent les valeurs précedantes.
je sais que je suis toujours sur le meme enregistrement,
mais je veux que:
un produit donné dans la fiche de stock peut avoir plusieurs quantités livrées à des dates différentes.
j'ai essayé linstruction:
dm1.FicheStocks.FieldValues['CodPrd']:=dm1.FicheStocks.RecordCount+1;
avant l'instruction:
mais ça change rien,
comment faire svp ?
Partager