Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-03-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
tmemdataset insertar registros maestro/detalle

Pues aqui sigo dando lata, no hay forma de que el "invento" de relacionar directamente dos tablas maestro/detalle para insertar registros me quede.

A ver, porque ya nose como hacerle y que sea "programacion decente".
Ya me habeis dado pistas para hacerlo pero no queda, quiza era por el componente que delphi y lazarus no, de ahi que lo pongo en esta subseccion.
Resumiendo:
tabla contactos
codigo (primaria)
nombre

tabla telefonos
codigotel(primaria)
telefono
codigocontacto (relacionado con codigo de la primera tabla)

he creado dos tmendataset con los mismos campos que las tablas, lo que no se es como relacionar las dos a la hora de insertar registros en las dos, tal y como me apuntaban, no puedo meter registro en la tabla detalle relacionandola con la tabla contactos si la primera todavia no ha sido registrada y viceversa.
en la cara oculta delphi 6 se hace un apunte pero ese componente no lo tengo en lazarus.

Algun ejemplito simple? porque no puede ser tan complicado.

gracias y mis disculpas por seguir con lo mismo.
Responder Con Cita
  #2  
Antiguo 03-03-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Hola Anubis.

He leido tu mensaje y he estado viendo las propiedades de los tmendataset. Y me parece que puede ser que no permitan la relación Maestro/detalle. Al menos de forma "automática".

Te aclaro que estoy aprendiendo acerca de esto, por lo que no te puedo dar una respuesta completa.

Sin embargo, EN ESTE ENLACE HAY UN MANUAL DE LOS COMPONENTES ZEOS que sí que permiten la relación Maestro/detalle y que explican como hacerlo (de varias formas).

Todo ello es válido para Lazarus (el manual está en la Wiki de Lazarus).

Si esta opción te puede resultar interesante y no te vienen los componentes Zeos instalados de serie en Lazarus, puedes usar la distribución CodeTyphon (EN ESTE ENLACE). Que los incluye de serie cuando se instala.

Saludos
Responder Con Cita
  #3  
Antiguo 03-03-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias por la respuesta,

Los componentes zeos si los tengo instalados y funcionan bien, el codetyphon no he conseguido instalarlo ni por activa o por pasiva siguiendo las instrucciones para linux y windows en sus versiones 32 y 64 bits, pero al final no me acaba generando el archivo lazarus.exe o lazarus.sh que dice no encuentra.

Respecto a maestro/detalle si tengo relacionadas las dos tablas y funcionan en modo consulta pero el problema surge cuando se quiere insertar un registro, si la tabla maestra(contactos) todavia no tiene el codigo de ese registro la tabla de detalle(telefonos) no puede asociarse a la maestra.

Se que no tiene que ser tan dificil porque es la base de las relaciones maestro-detalle.

Se agradece la información que aportas y que ya estoy leyendo, y si parece que arroja algo de luz a mi problema, ahora tengo que ver como se puede implementar .

gracias de nuevo
Responder Con Cita
  #4  
Antiguo 10-03-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
buenas de nuevo

Despues de darle muchas vueltas no consigo hacer algo decente con maestro/detalle, he buscado incluso ejemplos pero nada.

El manual de zeos que bien me recomienda rrf no me concuerda con las opciones:
Código Delphi [-]
qryDetailMASTER_ID.Value := qryMasterID.Value

value no aparece en las propiedades del query.

Seguro seguro que estoy haciendo algo mal, pero no doy con ello y eso que es algo básico.

Algun pequeño ejemplo de insertar maestro detalle porque ya no se donde buscar algo que me funcione.

un saludo y humildemente gracias
Responder Con Cita
  #5  
Antiguo 10-03-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Wink

Hola Anubis.

Desde mi último mensaje en este hilo he conocido que los componentes MDO - Mercury Database Objects fueron actualizados el 2011-01-21 (hacía años que no se actualizaban y muchos pensábamos que era un proyecto abandonado).

Son componentes que son casi idénticos a los IBX de Delphi (ambos fueron desarrollados partiendo de los componentes FIB de Delphi).

ESTA ES LA PÁGINA DE DESCARGA.

Aparecen como componentes para Delphi, pero en el mismo texto hablan de que es una opción muy buena para convertir una aplicación Delphi que use IBX a una aplicación Lazarus. Por lo que se deduce que pueden usarse en Lazarus.

En ESTE ENLACE (en inglés) hay un comentario de un problema que dan cuando se usan con relaciones Maestro - Detalle con Lazarus y la causa y solución posible (depende de la versión del compilador FPC).

Si esa opción te sirve, podrás encontrar mucha información a través de los manuales para los IBX y/o para los MDO.

Por cierto, si te manejas medianamente en inglés, te sugiero que veas el FORO DE LAZARUS EN INGLÉS porque contiene mucha información que es difícil encontrar en otras partes.

Recibe un saludo.
Responder Con Cita
  #6  
Antiguo 10-03-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Te agradezco tus respuestas,

Problema con los componentes zeos no tengo puesto que sí puedo generar una relación maestro detalle a la hora de consultar pero no así a la hora de insertar registros, porque, como decia Chris en otro post, no se pueden agregar registros al detalle si el registro maestro todavia no existe. (La pescadilla que se muerde la cola).
Tambien estoy checando los foros que me comentas, a ver si tengo alguna pista para hacer esto que creo que es tan simple.

Comentan, en otro post de este mismo foro, que para insertar registros en maestro detalle, hay que usar triggers, es lo que tambien estoy viendo, de todas formas cuando consiga hacer la dichosa agenda de telefonos, de una forma u otra, voy a postear el resultado del cómo insertar registros maestro detalle.

Con la cosa de aprender y no ver modo de resolverlo (que lo habra) de la forrma correcta en programacion, pues si frustra un poco.

Un saludo y gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema tabla Maestro-detalle en la q la pk de t.detalle formad por 2cods de la maes akinom38 Varios 1 09-11-2007 19:27:44
Duplica Registros Maestro Detalle Moparova Conexión con bases de datos 1 30-05-2007 11:01:33
Inserta Registros maestro/detalle Vlady Firebird e Interbase 2 28-10-2006 04:35:48
insertar maestro/detalle wonder boy Conexión con bases de datos 0 19-05-2004 01:19:25
insertar en tablas maestro detalle mnorza Conexión con bases de datos 6 25-10-2003 02:28:19


La franja horaria es GMT +2. Ahora son las 08:45:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi