Falta iniciar una transacción y acabarla.
El componente TDatabase tiene un procedimiento "StartTransaction" que sirve para iniciar la transacción. Cuando acabes de hacer todas las operaciones que consideres oportunas, para acpetar los cambios se usa el procedimiento del mismo componente "Commit", si quieres cancelar los cambios, "Rollback", es decir:
Código Delphi
[-]
procedure TForm14.BitBtn1Click(Sender: TObject); begin
Database1.StartTransaction;
try
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO detfacturafinal');
SQL.Add('SELECT * FROM detfactura');
ExecSQL;
end;
DataBase1.Commit;
except
DataBase1.Rollback;
end;
end;
procedure TForm14.SpeedButton3Click(Sender: TObject);begin
Database1.StartTransaction;
try
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('DELETE FROM detfactura');
ExecSQL;
end;
DataBase1.Commit;
except
DataBase1.Rollback;
end;
end;