FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Tablas Maestro-Detalle
Como se hace para eliminar un registro en una Tabla Maestro-Detalle, ya que cuando elimino, uno en la tabla Maestro me sigue dejando los que estaban relaciondos con éste en la tabla Detalle, y por su puesto lo que quiero es que me elimine, tanto el registro de la tabla Maestro como los que estan relacionados con éste en la Detalle.
Yo escribi el siguiente código para hacerlo pero no funciona: Código:
procedure TForm3.eliminarClick(Sender: TObject); //ELIMINAR Registros, si tabla var n,m:Variant; begin n:=Modulodatos.TblConsumos.FieldValues['IDCONSUMO']; ModuloDatos.TblConsumos.Delete; ModuloDatos.TblDetproducto.Active:=True; ModuloDatos.TblDetproducto.First; While Not ModuloDatos.TblDetproducto.Eof Do begin m:=ModuloDatos.TblDetproducto.FieldValues['CONSUMO']; If n=m Then ModuloDatos.TblDetproducto.Locate('IDCONSUMO',m,[]); ModuloDatos.TblDetproducto.Delete; end; Next; If Modulodatos.TblConsumos.IsEmpty Then begin Modificar.Enabled:=False; //es vacía desactiva botones.- Eliminar.Enabled:=False; end; end; Silvio.- |
#2
|
||||
|
||||
Hola silviodp
Si usas un motro de base de datos relacional te aconsejo usar Claves foráneas con borrado en cascada sería algo así:
Espero que te sirva
__________________
Si no tienes algo que decir más importante que el silencio, cállate |
#3
|
||||
|
||||
Hola,
Suponiendo que no puedas (ya sea porqué tu BD no lo permite o pq simplemente no tienes permisos para hacerlo) establecer algún tipo de regla de integridad a nivel de base de datos como te comenta cbrrr, lo que se suele hacer es programar un código para borrar los registros del detalle en el evento BeforeDelete del maestro. De este modo, con solo eliminar el registro del maestro ya se eliminan automáticamente los registros del detalle. Un saludo. |
#4
|
|||
|
|||
Tablas Maestro-Detalle
Si yo utilizo el codigo que escribi antes en el evento BeforeDelete de la tabla Maestra, Uds. creen que puede hacer lo que quiero?, o el codigo no esta bien??
Gracias, saludos. Silvio.- |
#6
|
||||
|
||||
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
||||
|
||||
Ups!! Por supuesto!!
En qué estaría yo pensando Gracias por la corrección! |
#8
|
|||
|
|||
Tablas Maestro-Detalle
En el BeforePost?, no entiendo...
|
#9
|
||||
|
||||
Cita:
|
|
|
|