Ver Mensaje Individual
  #4  
Antiguo 11-01-2006
akinom38 akinom38 is offline
Miembro
 
Registrado: ene 2006
Posts: 15
Reputación: 0
akinom38 Va por buen camino
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;
Responder Con Cita