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
listacampos.add('TeFolio');
listaCampos.add('Numero');
query1.Open;
q:=nil;
QRCreateList(tcustomquickrep(q),nil,query1,'Listado Principal',listaCampos);
q.Print;
finally
FreeAndNil(q);
end;
try
ListaCAmpos.Clear;
listacampos.add('Nombre');
listacampos.add('analisis');
listaCampos.add('Posicion');
listaCampos.add('Resultado');
query1.First; q:=nil;
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