PDA

Ver la Versión Completa : Reporte variable


Manuel
19-06-2004, 01:13:41
Hola amigos del foro:

Una vez más necesito de su ayuda y consejos, me piden realizar un reporte desde una tabla de personal en quick reports, hasta todo bien y fácil, pero un usuario me lo complico un poquito :mad: , el quiere elegir los datos a imprimir, o sea desde el punto de vista de nosotros los campos, bueno ya tengo los campos que necesito imprimir en una lista, ahora quiero pasarle a una banda de detalle estos campos, podría crear en tiempo de ejecución una
QRDBText, y a este pasarle el nombre del campo, por ejemplo (QRDBText1.DataField := 'Campo1'), mi pregunta es, como creo en tiempo de ejecución una QRDBText, para cada campo seleccionado de lista, y la posición correspondiente, haber si alguien lo ha hecho o tiene una idea como, gracias por su interes, no vemos amigos.

hogol
19-06-2004, 11:33:15
Hola buenas

Antes de generar el informe, define una variable tipo Tqrdbtext
var campox : Tqrdbtext;

Luego incluye este código:



campox := Tqrdbtext.create(informe); // informe es el nombre del formulario que contiene el report
with campox do
begin
top := 4;
parent := band1; // la banda donde quieres imprimir el campo
name := campox;
......
end;



Para crear el qrdbtext se usa la primera instrucción ( campox := Tqrdbtext.create(informe); )
A partir de ahí lo único que tienes que hacer es asignarle las propiedades del mismo.

Si tienes que crear varios puedes usar siempre la misma variable campox, pero debes asignarle un nombre diferente a cada uno (propiedad name).


Suerte
Hogol

Lepe
19-06-2004, 15:08:49
Puede que haya una forma más simple, aunque si te quieren complicar el listado, puede que se te haga imposible, miralo y despues me cuentas.

Resumiendo, si quieres ponerle un titulo al listado, e imprimir una serie de campos, esto es lo que buscas.

Si necesitas agrupar el detalle o usar un master detail, entonces se complica mucho.

En este hilo explica lo del qrCreateList (http://www.clubdelphi.com/foros/showthread.php?t=8418&highlight=qrcreatelist)

Saludos y espero sea lo que buscas.