FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
Hay un pequeño detalle.
File -- WorkinDirectory Pon el mismo de las tablas. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#22
|
|||
|
|||
Ya lo tengo puesto desde el principio...
|
#23
|
||||
|
||||
Aquí lo tienes, funcionando correctamente, he hecho la prueba y he cambiado un codigo de la maestro desde el DatabaseDesktop y me ha modificado los correspondientes del detalle..
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 01-01-2006 a las 21:33:19. |
#24
|
|||
|
|||
Amor eterno
Te quiero Marcos....por fin. Me funciona.
Muchísimas, muchísimas gracias. te prometo que el día que no esté tan verde ayudaré en lo que pueda al foro.. |
#25
|
|||
|
|||
Por cierto, al final, cual era el fallo?? pq no me dejaba??
|
#26
|
|||
|
|||
Es posible que sea debido a que la columna que enlaza las dos tablas era numérica?? lo digo porque he visto que lo has cambiado a alpha.
De todos modos como te indique ya me funciona, sólo es por saber el motivo. Gracias...y por cierto la respuesta no corre prisa...que bastante trabajo os doy. |
#27
|
|||
|
|||
Canté victoria demasiado pronto
Hola Marcos, que tal?? canté victoria demasiado pronto. Te explico (o mejor dicho os explico). Estoy hablando de la tabla pedido.db - detalle.db (maestro - detalle). SI que respeta la relación. Es decir, yo pincho en un registro en la tabla pedido.db y me aparecen los artículos en la detale.db.
El PROBLEMA: si quiero eliminar un registro me devuelve el mensaje "Master has detail records, cannot delete or modify". Del mismo modo cuando quiero editar o crear algún resistro tampoco me deja. Cuando lo quiero editar me cambia el valor del campo al pulsar "aceptar" pero acto seguido vuelve al valor original. Cuando quiero crear un pedido nuevo, me deja meter el pedido en pedido.db y el primer registro en detalle.db. A continuación cuando quiero meter el siguiente me devuelve "Mater record missing". El código del botón eliminar pedido: Código:
procedure TForm1.Button23Click(Sender: TObject); Var Boton : Integer; begin Boton := Application.MessageBox ('¿Está seguro que desea borrar este registro?', 'Borrar registro',MB_YESNO+MB_ICONINFORMATION); If Boton = ID_YES Then DataModule25.Table1.Delete else DataModule25.Table1.Cancel; end; Me estoy extendiendo mucho, lo siento. Ya acabo... Porsi os fuese necesario os doy el código del botón "aceptar" en el formulario "Nuevo - pedido".... Código:
procedure TForm18.BitBtn2Click(Sender: TObject); begin Try DataModule16.Table1.Post; close; Except DataModule16.Table1.Cancel; End; //De la excepción. end; Código:
procedure TForm18.BitBtn2Click(Sender: TObject); begin Try DataModule16.Table1.Post; DataModule16.Table2.Post; close; Except DataModule16.Table1.Cancel; DataModule16.Table2.Cancel; End; //De la excepción. end; Bien, siento el tamaño del post, si lo leeis entero ya os mereceis una medalla o algo. Gracias y a ver si me podeis decir que es lo que pasa. aleee |
#28
|
||||
|
||||
Resumiendo mucho porque ando mal de tiempo, en las tablas relación maestro detalle, primero se elimina todo el detalle, despues el maestro del registro correspondiente.
El problema es que hemos hablado de integridad referencial y por extensión de actualización en cascada, pero Paradox no tiene eliminación en cascada, por lo tanto si intentas el eliminar el maestro te dará el mensaje que estás viendo, solución la propuesta, eliminas todo el detalle y luego el maestro. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#29
|
|||
|
|||
Solución
De nuevo y como siemrpe. GRACIAS !. Bie, he probado lo que me ha dicho Marcos y como siempre perfecto. Os dejo el código del botón eliminar en el cual primero se eliminan los registros de la tabla detalle.db y posteriormente el de la tabla maestro, en este caso pedido.db.
Código:
procedure TForm1.BitBtn7Click(Sender: TObject); Var Boton : Integer; begin Boton := Application.MessageBox ('¿Está seguro que desea borrar este registro?', 'Borrar registro',MB_YESNO+MB_ICONINFORMATION); If Boton = ID_YES Then begin DataModule16.Table2.Delete; //borro los registros de la tabla detalle (detalle.db) DataModule16.Table1.Delete; //borro los registros de la tabla maestro (pedido.db) end Else DataModule16.Table1.Cancel; end; Ésto era por lo que respecta a eliminar un pedido. El problema de crear un pedido nuevo sigue llevándome loco...y aunque os he puesto el código del botón aceptar en el anterior post, creo que no tiene nada que ver, ya que el error se produce antes de pulsar en él. Cita:
Última edición por Mathom fecha: 24-11-2005 a las 20:06:16. |
|
|
|