Hola Vales.
En ese caso podes utilizar
CachedUpdates en las tablas relacionadas para evitar que los datos que guardaste del médico se consoliden si deciden
salir sin almacenar los cambios.
Al guardar, por ejemplo:
Código Delphi
[-]
if MessageDlg('¿Confirma la operación?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
begin
DMDatos.tbCoberturas.DataSource:= nil;
DMConect.IBDatabase.ApplyUpdates([tbMedicos,tbCoberturas]); DMDatos.tbCoberturas.DataSource:= dsMedicos;
DMConect.IBTransaction.CommitRetaining;
end
else
DMConect.IBTransaction.RollbackRetaining; Close;
De este modo, los cambios únicamente se guardarán sí las líneas que contienen
ApplyUpdates /
CommitRetaining se ejecutan.
Saludos.