FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
master source has detail records
hola, miren he tenido un problema con este mensaje, al parecer es porque en otro form tengo una tabla en la que relaciono la tabla que necesesito borrar un registro.
bueno tengo un form1 en la cual tengo 2 tables. una llamada CURSO y otra RUBRO , la tabla CURSO es el detalle y Rubro el maestro. bien ahora al seleccionar un Rubro me aparece todos los cursos de ese rubro, ahora cuando quiero borrar un curso de ese rubro me aparece "master has detail records", entonces me fije en el Form2 en el cual tengo una tabla planes de pago en el cual tengo relacionado Curso, lo cual parece ser el problema del mensaje, entonces hice los sig. en un boton eliminar del form1 cuando selecciono un curso:
bien lo hice como prueba para ver si funcionaba pero no ocurre nada , no cierra la aplicacion Aclaro que en el form 2, la tabla que relaciono curso (planes), tiene el campo CURSO como clave foranea. como sugieren que deberia hacer o modificar el codigo ? gracias bueno tambien se me ocurrio : If Application.MessageBox ('¿Estas seguro que deseas eliminar el registro actual?', 'Eliminar registro',mb_YesNo+MB_IconStop) = ID_yes Then while not form3.Table3.EoF do begin if form3.Table3.FieldByName('curso').AsInteger=table1.FieldByName('cod_curso').AsInteger then application.Terminate; end; pero al parecer no recorre la tabla del form3 Última edición por gonza_619 fecha: 16-08-2010 a las 23:52:57. Razón: otra opcion |
#2
|
||||
|
||||
Hola gonza.
Supongamos que las tablas se llaman: Curso, Rubro y Planes. Una posible solución sería usar el evento BeforeDelete de Curso para verificar si el registro tiene dependencias, de ser así, avisar y abortar la operación:
Saludos. Última edición por ecfisa fecha: 17-08-2010 a las 01:28:46. |
#3
|
|||
|
|||
master has detail records
bien, donde tendria que colocar el codigo? en un boton?,
el problema es que quiero borrar los datos relacionados en la otra tabla del form2. |
#4
|
||||
|
||||
Hola.
No gonza. Podés asignarlo: .- Desde el Object Inspector: Estando seleccionada la tabla Curso -> Click en pestaña Events -> Doble Click en el evento BeforeDelete. Te va a armar la estructura del procedimiento. Algo así:
.- O escribiendo el código. Asignás el procedimiento CursoBeforePost en el evento OnCreate del form por ejemplo. Algo así:
Lógicamente te vá a resultar más fácil del primer modo. Saludos. Última edición por ecfisa fecha: 17-08-2010 a las 04:54:59. |
#5
|
|||
|
|||
master has detail records
hola gracias, disculpa que no sepa mucho del tema pero estaria bien si lo coloco asi:
ya que la tabla planes esta en el form2 y curso en form1, y como probaria el evento? con un boton table1.delete? muchas graicas |
#6
|
||||
|
||||
No tenés nada por que disculparte
Si tenés la tabla declarada en form3, es correcto. Pero el código que te puse, sólo evita el borrado si tiene datos en relación de dependencia... Y ahora mirando bién tu post anterior, ví que queres eliminar los datos dependientes. caro y marcoszorrilla ya explicaron dos modos de hacerlo Acá . Podés utilizar el código propuesto por ellos asignándolo a un TButton por ejemplo. Cualquier duda no dejes de consultar Saludos. Última edición por ecfisa fecha: 17-08-2010 a las 05:31:10. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dá error "Master has detail records" cuando no debería darlo! | JuanBCT | Tablas planas | 3 | 06-08-2005 03:48:37 |
DBLookupComboBoxs Master/Detail o Detail/Master | yusnerqui | OOP | 5 | 29-07-2005 18:40:20 |
master/detail, imprimiendo master en cada hoja | acalderonr | Impresión | 4 | 29-11-2003 14:46:07 |
interbase:¿como crear un master-detail-detail? | ElSanto24 | Firebird e Interbase | 2 | 22-10-2003 10:24:45 |
Master/Detail/Detail/Detail/etc... | hgiacobone | Tablas planas | 2 | 24-07-2003 17:20:31 |
|