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
|
var
k:double;
i,j,l:integer;
begin
j:=0;
k:=0;
Query1.Close;
Query1.sql.clear;
Query1.sql.Add('SELECT smcode,sdate,');
Query1.sql.Add('COUNT(sccode) AS CompteDeSCCode,');
Query1.sql.Add('Sum(SPRICE) as SommeDeSPRICE FROM Sales');
Query1.SQL.Add('WHERE (smcode=:x)');
Query1.SQL.add('GROUP BY sdate, smcode');
Query1.Params[0].AsString:=AnsiUpperCase(Edit1.text);
Query1.Open;
Query2.Close;
Query2.sql.clear;
Query2.sql.Add('SELECT PStock');
Query2.sql.Add('FROM products');
Query2.SQL.Add('WHERE (PCode=:x)');
Query2.Params[0].AsString:=Edit2.text;
Query2.Open;
l:=Trunc(Query2.Fields[0].AsFloat);
//label1.caption:=FormatFloat('0.00',l);
i:=1;
Query1.Last; // au cas ou pour être sûr que le recordcount fonctionne
StringGrid1.Rowcount := Query1.RecordCount + 1; // faut donner la taille correspondant a ce qu'il y a dans ton query
Query1.First; // on se remet au debut de la requete
while not Query1.Eof do
begin
stringgrid1.cells[0,i]:=Query1.Fields[0].AsString;
stringgrid1.cells[1,i]:=Query1.Fields[1].AsString;
stringgrid1.cells[2,i]:=Query1.Fields[2].AsString;
stringgrid1.cells[3,i]:=Query1.Fields[3].AsString;
j:=j+strtoint(Query1.Fields[2].AsString);
stringgrid1.cells[4,i]:=inttostr(j);
k:=k+Query1.Fields[3].AsFloat;
stringgrid1.cells[5,i]:=floattostr(k);
l:=l-strtoint(Query1.Fields[2].AsString);
stringgrid1.cells[6,i]:=inttostr(l);
Query1.Next;
i:=i+1;
end; |
Partager