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
|
var
dDebut,dFin : TDate;
begin
With Query1 do
begin
Close;
SQL.clear;
SQL.Add('Select Min(DatPai) as DateDebut,Max(DatPai) as DateFin from TATable');
Open;
dDebut := FieldByName('DateDebut').AsDateTime;
dFin := FieldByName('DateFin').asDateTime;
end;
While dDebut <= dFin do
With Query2 do
begin
Close;
SQL.Clear;
SQL.Add('DELETE FROM "chemin" T');
SQL.Add('WHERE T.Ninc < ANY (SELECT Ninc FROM "chemin" T2');
SQL.Add('WHERE T.Ninc <> T2.Ninc');
SQL.Add('AND T.NoTicket = T2.NoTicket');
SQL.Add('AND T.DatPai = T2.DatPai');
SQL.Add('and T2.DatPai = :PDate)');
ParamCheck := True;
Params.ParamByName('PDate').Value := dDebut;
ExecSQL;
dDebut := dDebut + 1; // + 1 jour
end;
end; |