Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-04-2004
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
Smile 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;
donde en query1 le digo el intervalo de facturas que debe imprimir.

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!!!
Responder Con Cita
  #2  
Antiguo 21-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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?
Responder Con Cita
  #3  
Antiguo 21-04-2004
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
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....
Responder Con Cita
  #4  
Antiguo 21-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 21-04-2004
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
Gracias asi lo haré!!!

Cadetill, gracias por todo!!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:41:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi