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
| procedure TForm1.btFltrClick(Sender: TObject);
var
PrmSQL,SQLt: String;
begin
if Trim(edFltr.Text) <> '' then
begin
case rgFact.ItemIndex of
-1: begin
ShowMessage('Veuillez Choisir un critère !!!');
PrmSQL := 'WHERE f.Statu <> "An" and f.Cd = :RefClt';
Params[0].AsString := RefClt.Text;
end;
0: begin
PrmSQL := 'WHERE f.Statu <> "An" and f.Cd = ' + QuotedStr(RefClt.Text)
+ ' and f.RfDoc = :RefDoc';
Params[0].AsString := edFltr.Text;
end;
1: begin
PrmSQL := 'WHERE f.Statu <> "An" and f.Cd = ' + QuotedStr(RefClt.Text)
+ ' and d.Dat = :Dt';
Params[0].AsDate := StrToDate(edFltr.Text);
end;
2: begin
PrmSQL := 'WHERE f.Statu <> "An" and f.Cd = ' + QuotedStr(RefClt.Text)
+ ' and f.Statu = :St';
Params[0].AsString := edFltr.Text;
end;
3: begin
PrmSQL := 'WHERE f.Statu <> "An" and f.Cd = ' + QuotedStr(RefClt.Text)
+ ' and f.Rem = :Rem';
Params[0].AsFloat := StrToFloat(edFltr.Text);
end;
4: begin
PrmSQL := 'WHERE f.Statu <> "An" and f.Cd = ' + QuotedStr(RefClt.Text)
+ ' and (SUM(m.Qtn * p.PxV) * (1-(f.Rem/100))) = :Mnt'; //Mon Pb se pose ici
Params[0].AsCurrency := StrToCurr(edFltr.Text);
end;
end;
end
else ShowMessage('Veuillez saisir du texte !!!');
SQLt := 'SELECT DISTINCT f.RfDoc Référence,d.Dat Le,f.Rem Remise,'
+ '(SUM(m.Qtn * p.PxV) * (1-(f.Rem/100))) THT, f.Statu Statut '
+ 'FROM "TabEnt" e INNER JOIN "TabFac" f ON f.Cd = e.Cd '
+ ' INNER JOIN "TabDat" d ON f.Ndt = d.Ndt '
+ ' INNER JOIN "TabMvP" m ON m.RfDoc = f.RfDoc'
+ ' INNER JOIN "TabPrx" p ON p.Cp = m.Cp '
+ PrmSQL
+ ' GROUP BY f.RfDoc,d.Dat,f.Rem,f.Statu';
with qrFact do
begin
SQL.Clear;
SQL.Text := SQLt;
Open;
end;
end; |
Partager