Reportes

He intentado realizar un reporte utilizando qreport, para la cual utilizado todos los componentes necesarios como son: quickrep y su propiedad dataset a la tabla de donde obtengo el origen de datos, las bandas title y una banda detail, bien ahora al previsualizar e imprimir este reporte no hay ningún problema, bien pero ahora por necesidades del sistema tengo que incluir otros datos provenientes de otras dos tablas que no están relacionados con la primera es decir primero cree tres reportes, pero ahora esos tres necesito unirlos en uno solo, intente con otra banda detail, pero unicamente me inprime el primer registro de las otras dos tablas, ¿alguna sugerencia?.

8 respuestas

Respuesta
1
la verdad no entiendo muy bien porque quieres meter datos de tablas que no tienen relacion, si los datos de las otras tablas van en cada uno de los registros de la primera, tienen que tener relacion y eso se hace con un select (campos) from t1, t2, t3 where id.t1 = id.t2 and
id.t2 = id.t3
En caso de que lo que tu quieras hacer sea poner después de los datos de la primera consulta, los datos de la segunda y lñuego los de la tercera, entonces en tu query debes incluir tu primera consulta, después union yla segunda, DESPUÉS UNION Y LA TERCERA.
select * from t1
union (ó union all)
select * from t2
union
select * from t3
Respuesta
1
No hay problema. Deja tus reportes como están.
Agrega un componente TQRCompositeReport a tu forma o dataModule y en el evento OnAddReports incluye los reportes que ya has creado. Quizá tengas que modificarlos un poco pero te aparecerán integrados en uno solo.
Si intentas unirlos en un solo reporte como lo intentaste solo estará mostrándote los datos de una tabla y de las demás solo te mostrará un solo registro a menos que estén relacionadas de alguna forma en una relación uno a uno.
TIP: Revisa en el demo de QuickReport el ejemplo de Composite Reports.
Respuesta
1
No se como son los datos que tienes en cada una da le tablas, no se si es una tabla de detalles y otras con totales, o son todas de detalles,
Si es una con detalles y otras con totale slo que tienes que hacer es pasar los valores por qrlabel. Caption al reporte en la banda de pagefooter por ejemplo o el la ultima que tengas abajo de los detalles.
Si lo que tienes que imprimir son todos detalles vas a tener que unificar las bases para que salgan un uno solo listado.
Bueno suerte.
Respuesta
1
Lo que tu quieres hacer es un poco complicado ya que ninguna de las tablas tienen alguna relación, y no creo que sea posible con QReport, QReport es una herramienta muy limitada, y hay muchas cosas que no te serán fáciles de hacer, yo te recomiendo utilizar otro editor de reportes.
Otra solución mucho más laboriosa seria tu mismo mandar a imprimir la información, utilizando la unidad printers. Esto es muy laborioso pero podría ser una de tus únicas soluciones. Si estas interesado en usar la unidad printers, escríbeme de nuevo y yo puedo mandarte un código de ejemplo.
Respuesta
1
Tienes 2 posibilidades. Una es hacer una tabla temporal con todos los datos que necesites imprimir, o bien, en lugar de usar un componente table usar un query y haces la consulta en el query de manera que tengas todos los datos que necesitas imprimir.
Espero que te sirva.
Suerte
Erika
Respuesta
1
TE recomiendo que cambies a FastReport. Es infinitamente mejor y puedes hacer listados con las tablas que quieras, cada uno en una página de listado y que luego salgan los tres en la misma hoja (si caben claro). La verdad es que desde que cambié a FR no he vuelto a usar QR y de esto hace ya algunos años.
La banda DETAIL se usa para relaciones maestro/detalle, es decir tablas relacionas entre si de manera que cada registro de la maestra apunta a un grupo de registros de la segunda, por lo que si tus tablas no están relacionadas, no te saldrá nada en detail.
Si no recuerdo mal, ¿había una opción algo así como CompositeRecord? En la que se puede hacer que un varios listados salgan como uno solo. Investiva por esta idea.
Oye, si no es mucha molestia, donde lo consigo, conoces alguna página donde pueda bajarlo, como agregarlo y como utilizarlo, perdona pero es la primera ves que hago reportes y no llevo mucho tiempo en Delphi
Puedes encontrar la version ShareWare en www.torry.net y también en la propia página de FastReport http://www.fast-report.com
La version gratuita se llama FreeReport
Respuesta
1
Habría que ver el problema con mayor calma y detalle, pero a primera vista podrías solucionar tu problema usando un CompositeReport.
Respuesta
1
Primero debo saber si las otras dos tablas tienen un campo en común con la primera tabla, es ese caso puedes utilizar una consulta (Query) para unir las tres tablas.
En la Red puedes encontrar algo de información sobre el componente "Query" y el lenguaje SQL para crear consultas (si te interesa).
De todas formas, enviame más detalles de tus tablas y veré cómo puedo ayudarte, ¿bueno?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas