PDA

Ver la Versión Completa : Problemas con un report


Jesús Pena
09-06-2007, 13:18:16
Estoy haciendo una aplicación en Delphi 6 y utilizo QuickReport 4.6 para realizar los informes y me ocurre una cosa muy estraña y es que el informe en cuestión "se vuelve loco". Me explico, tengo una pantalla en la que pido los entornos del listado y en el report construyo la query correspondiente pasándole los parámetros del listado en cuestión y lo que ocurre es que si el informe no pasa de las 2 hojas va todo correctamente pero si tiene que imprimir mas de 2 lo que hace es generar páginas en blanco hasta que casca el programa (cuando lleva 5700 hojas generadas aproximadamente) alguno sabe lo que puede estar ocurriendo.

marcoszorrilla
09-06-2007, 14:45:11
Lo primero visualiza el resultado de la consulta en una rejilla a ver que es lo que te está devolviendo, si todo va bien conecta QuickReport con la consulta y no tiene porque fallar. Un poco de código de lo que estás haciendo nos sería útil para poder aportar más ayuda.

Un Saludo.

Jesús Pena
10-06-2007, 13:46:09
Esa prueba ya la he hecho y está correcto. En el report lo único que tengo es una funcion que recibe como parámetros los entornos del listado y en la que construyo la query correspondiente y en el formulario de llamada lo único que tengo es esto

qFormulario := TqFormulcario.Create(); // creo el formulario
qFormulario.pParametro1 := codigoinicial.text; // le paso el valor a la 1ª propiedad
qFormulario.pParametro2 := codigoFinal.text; // le paso el valor a la 2ª propiedad
qFormulario.ComponerQuery; // función en la que construyo la query
If not qFormulario.MiQuery.IsEmpty then
qFormulario.print; // si obtiene datos imprimo

qFormulario.Free; // libero los recursos

He probado a construir la query con los datos ya fijados por código y el resultado es el mismo !Genera miles de páginas¡ cuando en realidad solo tendría que generar 3 o 4 como máximo (están los datos controlados y no existen mas de 7 registros de detalle por cada registro del maestro y en cada página -ficha- sólo se imprimen 2 de ellos)

marcoszorrilla
10-06-2007, 14:09:35
No acabo de ver claro el asunto. Pero prueba esto:

Genera la consulta antes de llamar QuickReport, no le pases ningún parámetro, símplemente relaciona su propiedad DataSet con el de dicha consulta y lanzas el informe, al no intervenir ninguna función ni parámetro, llegaríamos a la conclusión que esa función que tienes y que no vemos es la causante del desaguisado.

Un Saludo.

Jesús Pena
11-06-2007, 14:35:55
Ya lo hé solucionado, y como siempre en estos casos la solución es de Traca. Resulta que cuando cree las bandas en el report, por no sé qué motivo, creó una banda de detalle, una banda de cabecera de grupo y un total. A mi realmente lo que necesitaba era una estructura típica de maestro detalle para lo cual únicamente necesito una banda de cabecera de detalle, una de detalle y una de subdetalle. El asunto es que no le sirve que tú en las propiedades de la banda le cambies el tipo sino que para que funcione es necesario crear la banda del tipo necesario y pegar en ella los objetos y eliminar la que estaba incorrecta.

Me imagino que la solución es esa, por lo menosa mi me funcionó.