Problema con QuickReport

La cuestión es que quiero presentar el contenido de una tabla mediante un informe utilizando el componente QuickReport, el caso es que cuando hago Preview no me aparece todo el contenido de la tabla, ¿y los registros que aparecen me los pone uno en cada página. A qué se puede deber?. Otra cuestión es que si quisiera mostrar en el informe el resultado de una consulta SQL mediante un Tquery, dónde debería poner el código de la consulta, ¿en el evento On Preview?

1 respuesta

Respuesta
1
Bueno no debería hacerte eso, a menos que tengas algún código en algún evento de tu banda de detalle, pero ese código tendría que hacer referencia precisamente a eso, a que cada registro te lo envíe en una página, es decir si se puede hacer eso de enviar un registro en cada página, pero tienes que especificarlo en código.
¿Con TQuery también te resulta los mismo de enviarte cada registro en una página?
Hola de nuevo! He hecho lo que me explicaste, en vez de con un Tquery he probado con un Ttable, pero resulta que cada registro de la tabla que muestro me la pone en una página, y la banda de detail la pongo estrecha. ¿A qué se puede deber esto?. Gracias!
Ok mira:
Primeramente hay que hacer el query pones un TQuery y le pones si SQL ejem. select * from empleados, suponiendo que tienes una tabla de empleados y los quieres imprimir. Ok.
Luego pones el QuickReport en alguna form a este le agregas la banda de Title en la cual pondrás pues el titulo con qrLabel ok, luego pones una banda de encabezados en esta banda pondrás el nombre de los campos que vas a desplegar por ejemplo Nombre, apellido, dirección... etc esto con qrLabel's, lugeo pones otra banda de detalle (detail) dentro de esta banda pones QRDBLabel y por supuesto los conectas a tu query generado anteriormente y le asocias un campo, tal como si fuera un DBEdit y por ultimo el query que generaste se lo debes asociar a tu hoja de QuickReport por ahí tiene una propiedad para pones el dataSet, y listo.
Para ver un preview pondrías lo siguiente:
En onClick de un botón primero activas el query
Query1.Active := true;
QuickReport.Preview;
Y listo la banda de detalle automáticamente desplegara toda la información tal como si fuera un DBGrid, lógicamente la banda de detalle la pones delgadita como si fuera un renglón ya que si la pones muy ancha pues los registros estarán muy separados entre si y te ocupara mucho espacio ok.
Recuerda el TQuery lo puedes usar para mostrar toda una tabla o para mostrar cierta información según tu SQL si me explico.
Recuerda que tienes que asociar tu query a la hoja de QuickReport por ahí tiene la propiedad para establecer el DataSet
Supongo que por eso no te trae nada.
Buenas! He probado con el Tquery y.. no me sale nada, pongo este código en un botón de un form que utilizar el form del QuickReport:
procedure TFinterfaz.Button1Click(Sender: TObject);
begin
Finforme.Qinforme.close;
Finforme.Qinforme.Params[0].AsDate:=fechainicio;
Finforme.Qinforme.Params[1].AsString:=horainicio;
Finforme.Qinforme.Open;
Finforme.Qinforme.Refresh;
Finforme.Qinforme.Active:=true;
Finforme.QRinforme.Preview;
end;
Mira, he probado con el InstallShield y lo que he añadido es lo siguiente, no sé si estará correcto: en Specify Components he seleccionado la opción BDE, SQL Links, BDE control panel file, standard VCL components, y database+quickreport+delphi sample+BDE components componentes packages
y luego en Groups and files he metido todos los archivos que utilizo incluidos los ficheros DBase en otro grupo que he creado.
Se supone que por ejemplo lo meto en un CD y desde el mismo se puede ejecutar la instalación en otro equipo y en cualquier ubicación con este instalador, ¿no?
Pues si esta bien! Si te faltara alguna librería el sistema simplemente no se ejecutaría te marcaría error.
No se que más pueda ser tu problema es muy raro. Porque no haces un nueva aplicación sencilla y haces un reporte a ver que sucede.
Suerte!
Perdona otra vez, en relación con la anterior pregunta.. que instalación debería elegir en el InstallShield yo sólo quiero que se pueda ejecutar la aplicación en otro equipo que no tenga ni el Delphi ni el BDE Administrator. Gracias!
Vaya, he hecho esto último de asociar la hoja del QuickReport con el dataset y aparece el informe con tantas páginas como registros debieran aparecer pero sin nada, ya no sé en qué puedo fallar. Otra cuestión te quería comentar, si la aplicación consta de varios formularios y utiliza ficheros DBase, ¿qué debería incluir cuando hago el instalador con el InstallShield para que se pudiera ejecutar en un equipo en el que no esté instalado el BDE Administrator? y cómo podría realizar un autorun del CD? Muchas gracias por tu atención
Hola! En el instalador al final sólo he metido el BDE, pero claro, me pregunto que si el usuario en ese equipo quiere abrir y editar las tablas DBase.. ¿cómo lo podría hacer? ¿Tengo qué añadir algún componente más en el instalador? Porque con el Delphi instalado si se puede abrir una tabla desde el Database Desktop, pero si no está..
Bueno si quieren modificar las tablas lógicamente tendrá que instalar el manejador de base de datos, para que pueda abrir las tablas y modificar su estructura, y eso lo debes hacer pues fuera del instalador ya que es independiente a ejecutar un programa de delphi a modificar una base de datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas