Resuelto mediante código
Bueno, antes de nada muchas gracias por la ayuda y los consejos.
Finalmente mediante un pequeño ejemplo he resuelto el problemilla.
Lo detallo aquí, por si le sirve a alguien.
Tabla Maestra:Persona
Tabla Detalle: Mascota
En las dos tablas la propiedad CachedUpdate-->True
Para que al borrar una Persona, se borren todas sus mascotas relacionadas:
Implementar los siguientes eventos en la tabla Persona:
BeforeDelete
procedure TMastData.PersonaBeforeDelete(DataSet: TDataSet);
begin
if not Confirm('Borrar Persona y sus mascotas relacionadas?') then
Abort
else
DeleteMascotas;
end;
procedure TMastData.DeleteMascotas;
begin
Mascota.DisableControls; { for faster table traversal }
try
Mascota.First;
while not Mascota.EOF do Mascota.Delete;
finally
Mascota.EnableControls; { always re-enable controls after disabling }
end;
end;
AfterDelete
procedure TMastData.ProductAfterDelete(DataSet: TDataSet);
begin
Product.ApplyUpdates ;
ProductConsumable.ApplyUpdates ;
end;
|