salut tout le monde,
je suis débutante en delphi,et j'ai un probleme avec la mise à jour d'une table.
j'ai 2 tables paradox:
Produit(CodPrd,Desig,QteEnStk....)
et Commande(NumCmd,CodPrd,DatCmd,QteLiv)
je veux que: quand je rempli les champs de la commande(i.e distribution) et cliquer sur un boutton valider la quantité en stock de la table Produit se diminue selon la quantité livrée de la table Commande.
voici le code:
mais la quantité en stock change pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 procedure TForm8.SpeedButton1Click(Sender: TObject); begin if(strtoint(edit2.Text)>strtoint(dbgrid1.Fields[4].Text))then begin showmessage('Stock insuffisant'); exit; end else dm1.CommandeS.Active; dm1.CommandeS.Append; dm1.CommandeS.edit; dm1.CommandeS.FieldByName('NumServ').AsString:=DBLookupComboBox.Text; dm1.CommandeS.FieldByName('NumCmdS').AsString:=edit1.Text; dm1.CommandeS.FieldByName('DatCmdS').AsString:=maskedit1.Text; dm1.CommandeS.FieldByName('TypPrd').AsString:=combobox1.Text; dm1.CommandeS.FieldByName('Design').AsString:=dm1.Query1Design.Value; dm1.CommandeS.FieldByName('QteDems').AsString:=edit2.Text; dm1.CommandeS.FieldByName('QteLiv').AsString:=edit3.Text; dm1.CommandeS.Post; edit1.SetFocus; edit1.Clear; edit2.Clear; edit3.Clear; dbedit1.Clear; maskedit1.Clear; combobox1.Clear; dm1.Query1Design.Value; ///////////////////////{mise a jour}////////////////////////////// dm1.produit.Active; dm1.produit.Append; dm1.produit.edit; while not(dm1.produit.Eof)do dm1.produit.First; if (dm1.Query1CodPrd.Value=dm1.produit.FieldValues['CodPrd'])then begin dm1.produit.FieldValues['QteEnStk']:= (dm1.produit.FieldValues['QteEnStk']- strtoint(edit3.Text)); exit; end else dm1.produit.Next; end;
aidez moi svp
Partager