Hola Lepe! Gracias por tu respuesta, lo resolví mediante consultas como me sugeriste pero de otra manera:
Código Delphi
[-] with query15 do
begin
close;
sql.clear;
sql.add ('SELECT * From Ordenes');
sql.add ('Where Estado=:W_Estado and');
sql.add ('f_factura <=:w_hasta');
sql.add ('Order by F_Factura');
Params[0].asstring;
Params[1].asdate;
Params.ParambyName('w_estado').asstring:='Facturada';
Params.ParambyName('w_hasta').asdate:=Datetimepicker2.date;
query15.Active:=true;
open;
first;
end;
while not Query15.EOF do
begin
with query3 do
begin
close;
Databasename:='servicio';
sql.clear;
sql.add ('DELETE From NItemRep');
sql.add ('Where Nro_Orden=:W_NumeOr');
Params[0].asinteger;
Params.ParambyName('W_NumeOr').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query4 do
begin
close;
sql.clear;
sql.add ('DELETE from NItemTer');
sql.add ('Where Nro_Orden=:W_NumeOr1');
Params[0].asinteger;
Params.ParambyName('W_NumeOr1').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query5 do
begin
close;
sql.clear;
sql.add ('DELETE From NItemMob');
sql.add ('Where Nro_Orden=:W_NumeOr2');
Params[0].asinteger;
Params.ParambyName('W_NumeOr2').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query6 do
begin
close;
sql.clear;
sql.add ('DELETE From NItemTex');
sql.add ('Where Nro_Orden=:W_NumeOr3');
Params[0].asinteger;
Params.ParambyName('W_NumeOr3').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query7 do
begin
close;
sql.clear;
sql.add ('DELETE From NdbNcr');
sql.add ('Where Orden=:W_NumeOr4');
Params[0].asinteger;
Params.ParambyName('W_NumeOr4').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query8 do
begin
close;
sql.clear;
sql.add ('DELETE From Vale');
sql.add ('Where Nro_Orden=:W_NumeOr5');
Params[0].asinteger;
Params.ParambyName('W_NumeOr5').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query9 do
begin
close;
sql.clear;
sql.add ('DELETE From ItemComb');
sql.add ('Where NroOrden_Combo=:W_NumeOr6');
Params[0].asinteger;
Params.ParambyName('W_NumeOr6').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query10 do
begin
close;
sql.clear;
sql.add ('DELETE From ItemObs');
sql.add ('Where Nro_Orden=:W_NumeOr7');
Params[0].asinteger;
Params.ParambyName('W_NumeOr7').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query11 do
begin
close;
sql.clear;
sql.add ('DELETE From ItemTex');
sql.add ('Where Nro_Orden=:W_NumeOr8');
Params[0].asinteger;
Params.ParambyName('W_NumeOr8').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query12 do
begin
close;
sql.clear;
sql.add ('DELETE From ItemTer');
sql.add ('Where Nro_Orden=:W_NumeOr9');
Params[0].asinteger;
Params.ParambyName('W_NumeOr9').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query13 do
begin
close;
sql.clear;
sql.add ('DELETE From ItemRep');
sql.add ('Where Nro_Orden=:W_NumeOr10');
Params[0].asinteger;
Params.ParambyName('W_NumeOr10').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query14 do
begin
close;
sql.clear;
sql.add ('DELETE From ItemMob');
sql.add ('Where Nro_Orden=:W_NumeOr11');
Params[0].asinteger;
Params.ParambyName('W_NumeOr11').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
with query16 do
begin
close;
sql.clear;
sql.add ('DELETE From Ordenes');
sql.add ('Where Nro_Orden=:W_NumeOr12');
Params[0].asinteger;
Params.ParambyName('W_NumeOr12').asinteger:=query15['Nro_Orden'];
ExecSql;
end;
query15.next;
coolgauge4.Progress:=(Query15.RecNo*100) div Query15.RecordCount;
end;
query1.Active:=false;
with query1 do
begin
close;
sql.clear;
sql.add ('SELECT * From Ordenes');
sql.add ('Where Estado=:W_Estado and');
sql.add ('f_factura <=:w_hasta');
sql.add ('Order by F_Factura');
Params[0].asstring;
Params[1].asdate;
Params.ParambyName('w_estado').asstring:='Facturada';
Params.ParambyName('w_hasta').asdate:=Datetimepicker2.date;
query1.Active:=true;
open;
first;
end;
Un poco engorroso... pero funciona! De nuevo, gracias...
Juan