Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #39  
Antiguo 08-07-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Suponemos que queremos imprimir todos estos campos:
Código:
TeFolio            Numero    Nombre analisis   Posicion  Resultado
Pero los datos del campo TeFolio son muy largos y solo caben las dos primeras columnas en una página.

Armamos el SELECT:
Código SQL [-]
SELECT TeFolio, Numero    , Nombre ,analisis   ,Posicion  ,Resultado 
FROM TABLE
Imagina que tu query tiene 180 registros, y en cada página caben 60 registros (uno debajo de otro), así que debemos imprimir 3 páginas, pues no, sacamos 6 páginas:
- 3 páginas con las columnas: TeFolio y Numero
- otras 3 páginas más, con las columnas : Nombre, analisis, posicion, resultado.

Si coges la primera página y a su derecha pones la cuarta página, tendrás un registro completo con sus 6 campos.
Código Delphi [-]

uses quickrpt, qrextra, qrprntr, qrctrls;

procedure TForm1.Button2Click(Sender: TObject);
var q:TQuickRep;
    listaCampos:TStringList;
    i:Integer;
begin
   listaCampos:= TStringList.Create;
   try
      // lista de campos a incluir en el informe, como sabemos que solo caben 2, pues los 2 primeros
    listacampos.add('TeFolio');
    listaCampos.add('Numero');
    query1.Open;
    q:=nil;

// esto crea un listado con los campos que se le han dicho
    QRCreateList(tcustomquickrep(q),nil,query1,'Listado Principal',listaCampos);
    q.Print; 

   finally
      FreeAndNil(q);
   end;
// ya está impreso las 2 primeras columnas, ahora imprimimos el resto:
// el código es copy y paste, solo cambia los nombres del campo:
   try
      // lista de campos a incluir en el informe, el resto de campos, 
// por simplificar, estoy suponiendo que las 4 columnas caben en el ancho de una página
    ListaCAmpos.Clear;
    listacampos.add('Nombre');    
    listacampos.add('analisis');
    listaCampos.add('Posicion');
    listaCampos.add('Resultado');   
    query1.First; // volvemos al primer registro.
    q:=nil;

// esto crea un listado con los campos que se le han dicho
    QRCreateList(tcustomquickrep(q),nil,query1,'Listado Principal',listaCampos);
    q.Print; 

   finally
      FreeAndNil(q);
   end;

end;

Yo si entiendo lo que quieres hacer, pero no se puede hacer de forma automática, tienes que hacerlo tú a mano, y ésta es la solución que se me ocurre.

¿Se me entiende ahora?

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 08-07-2006 a las 00:43:53.
Responder Con Cita
 



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 17:28:32.


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