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 07-07-2006
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
creo que me explique mal o no les entiendo=(

lo que yo quiero hacer es parecido a lo que hace el qreport horizontalmente cuando ya no le caben los datos en esa hoja ( cuando ya no le caben los datos, anexa otra hoja y sigue mostrando o imprimiendo los resultados en la(s) siguiente(s) hojas).

Creen que se pueda??
A ver si se me ocurre algo,

Y Perdon por la tardanza en responder.

Esta bien la respuesta que me dicen, pero el problema es cómo lo hago???
no encuentro la forma para hacerlo, tengo que seguir viendo las propiedades de la pagina del qreport

Muchas Gracias de nuevo
Saludos!!!
Responder Con Cita
  #2  
Antiguo 08-07-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
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
  #3  
Antiguo 11-07-2006
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
Hola Lepe!!!

Muchas gracias.

Si entiendo como se puede hacer, pero en este caso deberia de guardar en una variable el largo del qreport(del area imprimible) y en otra variable ir sumando los valores de cada analisis y sumarlos hasta que sea < que el ancho del reporte o no??

Eso no se como se hace, como tomo el ancho del reporte(ya que a veces utilizo el reporte en forma horizontal y otras vertical).

O de que otra forma se te ocurre, en un ratillo mas voy a probar a ver como me va.

Ahh y aprovechando de tu amabilidad, sabes como le puedo agregar un retorno de carro a una cadena para ponerla en un qreport??

esto te lo pregunto porque hay veces que escriben una linea demasiada larga y se sale del reporte y no se alcanza a ver todo el texto, entonces volvemos a lo mismo tengo que tomar el ancho del reporte(portrait o landscape) y a partir de ahi agregarle un retorno de carro).

Muchas gracias de nuevo.
Saludos!!!
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 22:54:30.


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