![]() |
Disablecontrols en una relación master detail
Hola a Todos
Necesito urgente que alguien me ayude a solucionar el siguiente problema: Tengo una tabla maestra en un componente TQuery y una Tabla Detalle en otro componente TQuery, las tablas están relacionadas con una llave de tipo entero ('MAE_CONS') y las consultas SQL de cada Query son las siguientes: -Consulta Maestro: SELECT * FROM TABLAMAESTRA -Consulta Detalle: SELECT * FROM TABLADETALLE WHERE MAE_CONS=:MAE_CONS en el datasource del Querydetalle coloco el datasource del maestro y defino el parámetro como entero Hasta aquí todo bien:D, el sistema funciona bien, pero necesito generar un reporte en el cual tengo que recorrer la tabla maestra y el detalle para cargar los valores, lo cual lo hago de la sgt forma:
al ejecutar el código anterior el Querydetalle no sigue pegado del maestro, se queda estático, es decir, se pierde el enlace automático. La verdad he intentado varias cosas pero no consigo solucionar el problema.:mad: Por la atención prestada mis más sinceros agradecimientos. |
Hola
Te cuento lo que yo hago normalmente en este tipo de relaciones y de pronto te sirve:
1) En el evento AferScroll del maestro pongo
2) En el evento BeforeClose también del maestro
3) Y para recorrer todos los registros
Yo nunca utilizo los DataSource por eso no comento tu código. Saludos y espero te sirva. :) |
Hola. He editado tu mensaje para añadir la etiqueta delphi. Úsala para publicar trozos de código.
Hasta luego. ;) |
Para eso está implementado el BlockReadSize, la relación Maestro-Detalle sigue funcionando.
tabla.BlockReadSize := 32; // operaciones tabla.BlockReadSize := 0; Saludos |
Solucion disablecontrols en master detail
Hola compañeros, muchas gracias por sus sugerencias, pero he encontrado una solución más práctica que aumenta considerablemente el rendimiento de la aplicación:
Utilizo un nuevo datasourse (dtsauxiliar) y el datasourse maestro al que están pegados todos los componentes visuales los desactivo temporalmente mientras se termina el bucle.
Espero que les sirva, hasta la próxima. |
La franja horaria es GMT +2. Ahora son las 22:11:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi