FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Imprimir dentro de un bucle
Hola a todos!!!
Veréis, tengo un pequeño problema con la impresora cuando intento imprimir varias facturas de golpe, es decir, utilizo el siguiente código: Código:
while not (query1.eof) do begin ----------- ----------- quickrep1.print; query1.next; end; Pues el problema es que cuando se imprime la factura nº 50 me sale un mensaje de error del spoolsv.exe y me "peta" el programa; supongo que es algo de la memoria, que se va reduciendo hasta que "peta". Podéis ayudarme a que cada vez que se hace quickrep1.print se vacie la memoria usada o cualquier otra solución para que no aparezca este error? Cualquier ayuda será bien recibida Gracias anticipadas!!! |
#2
|
|||
|
|||
Y porque no imprimes directamente la Query? Es decir, porque no haces una consulta que englobe todas las facturas y dejas que el QR haga el bucle por ti?
|
#3
|
|||
|
|||
Bueno, la query ya coge todas las facturas...
Hola gracias por responderme Cadetill!!!
Bueno, la query1 ya recoge todas las facturas, y es necesario hacer el bucle para que me imprima la siguiente factura y asi sucesivamente. Creo que lo que me peta es el quickrep1.print, que creo que no libera memoria... Si no es esto me puedes enviar algo de código para tener alguna guia de lo que me has dicho ? Gracias por haberme respondido tan rápido.... |
#4
|
|||
|
|||
Veamos, cuando tu asignas un dataset (léase TTable, TQuery, o cualquier otro componente derivado de TDataset) a un TQuickReport, éste imprime TODOS los registros contenidos en él
Entonces, si tu asignas el Query a tu Report, él solito se encargará de imprimir todas las facturas. Eso sí, el Query ha de contener TODOS los datos de las facturas (almenos los que necesites para el listado). Si suponemos que lo que haces es un master/detail para imprimir las lineas, puedes hacer lo siguiente: 1.- O bien en la Query haces una join y recuperas cabecera y detalle en una sola query 2.- O bien haces un master/detail entre las Querys Para ver un ejemplo de las dos soluciones, pásate por mi web y mírate la demo del QR que allí hay Espero te sirva |
#5
|
|||
|
|||
Gracias asi lo haré!!!
Cadetill, gracias por todo!!!
|
|
|
|