![]() |
Un reto con Qreport
Que tal amigos de Club Delphi, desconozco si esta pregunta quedaria realmente correcta aqui si no solicito al moderados moverla en donde podria ir.
Estoy realizando una aplicacion en donde se capturan las subastas de automoviles, mi programa cuanta con dos bases de datos una en MySQL y otra en DBF, el problema no es la conexion con las bases de datos si no con la rpesentacion del informe. En la base de datos DBF tengo almacenados los datos de los vechiculos que se subastaran y en la base de MySQL tengo almacenados los postores junto con otros datos como cuanto ofrecen, etc. Ejemplo grafico de la base: DBF NOECO VEHICULO SERIE PLACAS AVALUO 0001 CHEVROLET 12345 AAA1234 $ 5000 Y020 VW 23423 BBB3456 $ 1000 MySQL NOMBRE OFRECE DEPOSITA NOECO JUAN PEREZ $ 4000 400 0001 PEDRO $ 4100 410 0001 VIRGINIA $ 3500 0 0001 EDGAR $ 2000 200 Y020 LORENA $ 1000 50 Y020 Mas o menos es una idea de mis bases de datos, yo necesito que en el reporte salga como encabezado de un blouqe los datos del vehiculo y que abajo su list de compradores, pero no vehiculo por hoja, si no que continue donde termin uno que continue el otro: ------------------------------------------------------------------------------------------- REMATE DE VECHICULOS 2007 HECHO EN JALISCO MEXICO VEHICULO: CHEVROLET SERIE 12345 PLACAS AAA1234 POSTORES: JUAN PEREZ $ 4000 400 PEDRO $ 4100 410 VIRGINIA $ 3500 0 VEHICULO: VW SERIE 23423 PLACAS BBB3456 POSTORES: EDGAR $ 2000 200 LORENA $ 1000 50 __________________________________________________________________ Espero darme a entender y espero me puedan ayudar ya que si me urge un poco esta informacion. Se los agradesco de antemano Atentamente MR SAM .·. |
Yo realizaría lo sgte:
Traspasaría (en forma automatica) los datos que posees en el DBF a una tabla paso de MySQL. Despues tendrias que realizar la consulta adecuada con un informe tipo Maestro - Detalle Si trabajas con QReport, tendrias que usar 2 bandas (como minimo) - 1 Detail - 1 SubDetail Además, deberas agregar 2 sentencias SQL (Querys - No se como tendrias que trabajar con MySQL, nunca lo he realizado) - 1 Query_A -> para filtrar todos los vehiculo - 1 Query_B -> para filtrar los postores de 1 vehiculo El informe QREport debera estar enlazado al Query_A y pones todos los campos que necesites Banda Detail -> Campos del Query_A Banda SubDetail -> Campos del Query_B la sentencia de la Query_A deberia ser más o menos la sgte
luego, en la propiedad AfterPrint del la Banda SubDetail, ejecutas la Query_B, la que deberia tener la sentecia algo como
y eso seria todo... PS: No se si puedes trabajar con MySQL y DBf a la vez.. por eso te sugeri esto.. Espero que te sirva... |
Hola, como te decia BlueSteel tienes que hacer un reporte maestro detalle, hice mis pruebas y si se puede trabajar con 2 diferentes bases de datos para el mismo reporte usando parametros.
Tendrias un query1 que tendria la siguiente consulta: Código:
'SELECT * FROM Vehiculo' Código:
'SELECT * FROM Postores WHERE NOECO=:NOECO' Tu banda Subdetail en su propiedad Master debes asociarlo a tu QuickRep1 y su dataset a tu query2 de tu BD mysql. Mas o menos asi es, hice mis pruebas con SqlServer y Access me ha funcionado todo bien, supongo que lo tuyo tambien deberia funcionar, espero te sirva. Saludos |
Les estoy muy agradecido con su cooperacion de hecho gracias a las dos respuestas pude estructurar la idea, sin embargo me resulto un pequeño problema, que los reportes no me separa las respuestas, es decir si saca todo el reporte y tambien los resultados en el SubDetail, pero me hace lo siguiente:
--------------------------------------------------------------- NUMERO ECO: 200Y MARCA: VW POSTOR OFRECE FOLIO DEPOSITO Pedro 1000 200Y 100 Juan 2000 201Y 200 paco 3000 333Y 300 Numero Eco: 333Y Marca: Toyota POSTOR OFRECE FOLIO DEPOSITO Pedro 1000 200Y 100 Juan 2000 201Y 200 paco 3000 333Y 300 Numero Eco: 201Y Marca: NISSAN POSTOR OFRECE FOLIO DEPOSITO Pedro 1000 200Y 100 Juan 2000 201Y 200 paco 3000 333Y 300 ------------------------------------------------------------------- Es decir si encuentra las coincidencias en la bas de datos pero no me los separa por postor en cada uno de sus correspondientes vehiculos. Y yo quiesiera que saliera : ----------------------------------------------------------------- NUMERO ECO: 200Y MARCA: VW POSTOR OFRECE FOLIO DEPOSITO Pedro 1000 200Y 100 Numero Eco: 333Y Marca: Toyota POSTOR OFRECE FOLIO DEPOSITO paco 3000 333Y 300 Numero Eco: 201Y Marca: NISSAN POSTOR OFRECE FOLIO DEPOSITO Juan 2000 201Y 200 ---------------------------------------------------------- Pongo de ejemplo un postor pero pueden ser hasta 20 o 30 por vehiculo Espero me puedan ayudar que estoy haciendo mal. De antemano muy agradecido |
por lo que veo, te falta hacer el filtro de la tabla Postores...(correspondiente a la banda Sub-Detail)
como te decia antes, debes poner en el Evento AfterPrint de la banda Detail la Query sgte( o al menos parecida)
Acuerdate de limpiar los querys antes de hacer una consulta, y despues debes abrirlas
aunque igual podrias poner tu codigo.. para ver en donde esta el error ?? |
De antemano les agradesco la atencion amigo BlueSteel te explico mi codigo:
Agrego un boton a la aplicacion principal con el que mando llamar al preview: Remates es el nombre del Qreport
Dentro del QR tengo dos Querys uno que es el mando llamar antes de ejecucion en la instruccion pasada y otro que no he podido acomodar jeje para el SubDetail que me comentas que ponga en el Afterprint: Remates.Query2.SQL.Clear; Remates.Query2.SQL.Add('Select * from remate, rema'+Form1.Edit14.Text+' where remate.noeco = rema'+Form1.Edit14.Text+'.noecon'); Remates.Query2.Open; Cabe mensionar que el Report esta dirigido a Query1 y el detail es el que contiene los resultados de este Query El subdetail es para el query2 y sus resultados tambien. Depues de aplicar asi como me comentas no me da el resultado. Espero me puedas ayudar Saludos |
Hola, yo creo que falta enlazar bien tus dataset para formar tu maestro detalle.
Supongo que debes tener 2 DataSource para cada uno de tus querys, digamos que query1 con DataSource1 y query2 con DataSource2, estos estan enlazados con sus respectivos DataSet, lo que creo que faltaria es que en es query2->DataSource= DataSource1 osea que este enlazado al DataSource de tu primer query para asi poder recibir el parametro tu segundo query, claro si tienes tus consultas como te dije en un principio. Cita:
|
:( Pues no he podido ya tome las sugerencias de los dos y nomas no sale, si uno de ustedes pudiera agregarme a su msn para ver si me puden hechar la mano.. ( Espero no romper ninguna regla de aqui jeje ya que no recuerdo si esto se puede ) les dejo mi msn mrsam_gdl@hotmail.com
Espero me puedan ayudar |
:'( No he podido .. ya hice lo que me indico Caro y tambien lo he intentado con lo que me dice Blue Steel y no he podido .. de hecho ya lo configure de las dos formas.
|
La franja horaria es GMT +2. Ahora son las 13:16:20. |
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