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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| procedure TForm2.BitBtn4Click(Sender: TObject);
var l:integer;
total:real;
s1,s2:string;
begin
s1:=trim(combobox2.Text);
s2:=trim(combobox3.Text);
if not table3.Locate('nom;prenom',vararrayof([s1,s2]),[locaseinsensitive]) then
begin
table3.Append;
table3.fieldbyname('nom').AsString:=s1;
table3.fieldbyname('prenom').AsString:=s2;
table3.fieldbyname('tel').AsString:=edit2.Text;
table3.post;
end
else begin
table3.Edit;
table3.fieldbyname('tel').AsString:=edit2.Text;
table3.post;
end;
with table4 do
begin
edit;
for l := 1 to grid2.RowCount-1 do
begin
if (grid2.Cells[0,l]<>'')and(grid2.Cells[3,l]<>'')and(grid2.Cells[2,l]<>'') then
begin
edit;
append;
fieldbyname('id').AsInteger:=table3.FieldByName('id').AsInteger;
fieldbyname('article').AsAnsiString:=utf8encode(grid2.Cells[0,l]);
fieldbyname('prix').AsCurrency:=strtocurr(grid2.Cells[2,l]);
fieldbyname('q').AsInteger:=strtoint(grid2.Cells[3,l]);
fieldbyname('date').AsDateTime:=date;
post;
total:=total+(strtocurr(grid2.Cells[2,l])*strtoint(grid2.Cells[3,l]));
table2.Locate('code',grid2.Cells[0,l],[locaseinsensitive]);
table2.edit;
table2.fieldbyname('Q').AsInteger:=table2.fieldbyname('Q').AsInteger-strtoint(grid2.Cells[3,l]);
table2.post;
table5.Edit;
table5.Append;
table5.fieldbyname('code').AsAnsiString:=utf8encode(grid2.Cells[0,l]);
table5.fieldbyname('PU').AsCurrency:=strtocurr(grid2.Cells[2,l]);
table5.fieldbyname('PA').AsCurrency:=strtocurr(grid2.Cells[5,l]);
table5.fieldbyname('Q').AsInteger:=strtoint(grid2.Cells[3,l]);
table5.fieldbyname('date').AsDateTime:=date;
table5.post;
end;
end;
table3.Edit;
table3.FieldByName('montant').AsCurrency:=table3.FieldByName('montant').AsCurrency+total;
table3.Post;
showmessage('L''opération a été effectuée avec succès');
ligne:=1;
colonne:=0;
total:=0;
edit1.Text:='0.00';
grid2.RowCount:=2;
for l:=0 to 4 do grid2.Cells[l,1]:='';
end;
panel1.Visible:=false;
end;
end; |
Partager