Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   QuickReport (https://www.clubdelphi.com/foros/showthread.php?t=73822)

elturu15 18-05-2011 20:22:21

QuickReport
 
Hola Necesito Ayuda!.. tengo que mostrar un listado en QuickReport y no se como hacer.
Lo unico que se hacer es Mostrar un Campo solo con QRDBText1, pero si quiero mostrar varios campos o varios registros..comolos hago? con que codigo?
Gracias

oscarac 18-05-2011 20:38:02

hola como esdtas
lo primero una visita a la guia de estilo

lo segundo... asi como muestras un campo puedes mostrar los que desees, solo debes asociar en el datasource del quickreport el datasource de la tabla o query donde tienes los datos y listo

busca en el foro se ha tratado muchas veces este tema

saludos

Caro 18-05-2011 20:52:29

Hola elturu15, para varios campos necesitas mas QRDBText enlazados a cada campo, para mostrar varios registros, debes utilizar una banda de tipo rbDetail y dentro los QRDBText.

Saluditos

elturu15 19-05-2011 03:36:56

Quick Repord
 
Entiendo lo que me decis pero yo quiero mostrar el campo NumCli y quieromostrar todos los NumCLi que tengo en la base de access- si uso lo que me decis me muestra un solo regiosto...y como hago para mostrar varios registros?
Capas que me exprese mal en la primera consulta ja perdon

oscarac 19-05-2011 04:16:17

como te dije antes asocia el datasource del quickreport al datasouce de la tabla o query

ElKurgan 19-05-2011 07:40:06

Si quieres un tutorial completo y muy explicado lo puedes encontrar en DelphiAlLímite; en concreto, abarcaba estos enlaces

http://delphiallimite.blogspot.com/2...kreport-i.html
http://delphiallimite.blogspot.com/2...report-ii.html
http://delphiallimite.blogspot.com/2...eport-iii.html
http://delphiallimite.blogspot.com/2...report-iv.html
http://delphiallimite.blogspot.com/2...kreport-v.html

Un pdf con el contenido completo del sitio web lo puedes encontrar en ClubDelphi, concretamente aqui

Espero que te sirva.

Saludos

elturu15 19-05-2011 23:28:21

Quick Repord
 
Gracias por la info pero el problema que tengo ahora es este.
cuando ejecuto la prueba delistar se me cualge. El codigo que uso es este y esta en un button

Código Delphi [-]
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT * FROM  Ciudades';
ADOQuery1.Open;

 While not ADOQuery1.EOF do
   QRDBText1.DataField:= ADOQuery1.Fields[1].AsString;

end;



Si no pongo el While me lista el primer reg y si lo pongo se me cuelga,
YO QUIERO LISTAR TODA LA TABLE...AUXULIO!

ElKurgan 20-05-2011 07:24:24

Cita:

Empezado por elturu15 (Mensaje 400711)
... cuando ejecuto la prueba delistar se me cualge. El codigo que uso es este y esta en un button


Código Delphi [-]begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT * FROM Ciudades';
ADOQuery1.Open;

While not ADOQuery1.EOF do
QRDBText1.DataField:= ADOQuery1.Fields[1].AsString;
end;



Si no pongo el While me lista el primer reg y si lo pongo se me cuelga,
YO QUIERO LISTAR TODA LA TABLE...AUXULIO!

Se cuelga porque dentro del bucle while no le dices que pase al siguiente registro con

ADOQuery1.Next;

Por lo demás, en QR no hace falta asignar nada en ejecución para que te muestr todos los registros: Basta con que en el informe le pongas su propiedad "Dataset" apuntando al "ADOQuery1" y la propiedad "DataField" de QRDBText1 al campo que deseas mostrar. ¿Como estás llamando al informe? ¿Está el formulario que lo contiene en modo "Autocreate" o lo creas cuando sea necesario? A lo mejor necesitas asignar los campos en algún evento antes de mostrar el QR, como BeforePrint o alguno parecido

Un saludo

elturu15 20-05-2011 14:16:03

Quick Repord
 
HOla GRacias por las ayudas...pero puse el ADOQuery1.Next y sigue sin listar.
el DataSet del QuickReport Apunta al Query1 y el DataSet del QRDBText1 tambien apunta al Query1 y no se como es eso de que el Formulario este en AutoCreate. Yo lo que quiero es apretar un botoncito (button) y que me aparesca el QuickReport con todos los regiostros de la Tabla Provincias, osea, que me aparesca esto:

La Pampa
Buenos Aires
Cordoba
Mendoza
Santa Fe

y No se como Asiganar los reguistros al QuickReport....nose si esta bien lo de DataSet.
Necesito Su Ayuda!

Pedro-Juan 20-05-2011 20:27:42

Hola.

Tienes que asignar el DataSet A QuickRep (en las propiedades del QuickRep hay una que se llama DataSet), le tienes que poner el Query o la Table que uses.

Luego poner una QRBand en el QuickRep.

Y sobre la QRBand, poner el QRDBText (o los que necesites), con el campo del Query o la Table asignado en la propiedad DataField del QRDBText.

No necesitas el while, sólo algo así:

QuickRep.Print

Espero haberte ayudado. Un saludo

elturu15 20-05-2011 21:19:23

Quick Repord
 
Hola!! muchas gracias por la ayuda que me estan dando pero no consigo hacer que esto funcione.
te digo lo que tengo
en un Form1 pongo un QuickRep1, dentro de ese QuickRep Pongo una DetailBand y despues sobre el DetailBand pongo un QRDBText y hay, en el QRDBText buelco los datos que tengo en la tabla...voy bien?

y despues tengo un ADOQuery COnectado a un ADOConection. Les TEngo que decir que a la Propiedad Data Set del QuickReport y del QRDBText le asigono ADOQuery1. Y por ultimo tengo un Button en donde pongo este codigo :

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  QuickRep1.DataSet:=ADOQuery1;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Text:= 'SELECT * FROM provincias order by nombre';
  ADOQuery1.Open;
  ADOQuery1.First;
     While not ADOQuery1.Eof do
       Begin   
         QRDBText1.DataField:=ADOQuery1.Fields[0].AsString;
         ADOQuery1.Next;
     End;   

 
end;

Todo esto es lo que tengo en mi FORM1.
Y cuando COmplico y apreto el Button para que me genere todo el listado de mi tabla Provincias, SOlo me aparese el Primer Registro y Por ultimo, cuando lo Pre-Visualiso no me aparese ni siquiera el PRimer Registro, todo en blanco..

QUAL ES MI ERRORRRRRRRRRRRR!!!!!
ESPERO SER CALRO Y MUCHAS GRACIAS

oscarac 20-05-2011 21:27:26

Colocar en quirckreport dent del form?
porque mejor no creas una unidad donde este solito el quickreport

esto..
Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
begin  
QuickRep1.DataSet:=ADOQuery1;  
ADOQuery1.SQL.Clear;  
ADOQuery1.SQL.Text:= 'SELECT * FROM provincias order by nombre';  
ADOQuery1.Open;  
ADOQuery1.First;     
While not ADOQuery1.Eof do       
Begin            
QRDBText1.DataField:=ADOQuery1.Fields[0].AsString;         
ADOQuery1.Next;     
End;   
end;

lo reemplazas por esto
Código Delphi [-]
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin  
QuickRep1.DataSet:=ADOQuery1;  
ADOQuery1.SQL.Clear;  
ADOQuery1.SQL.Text:= 'SELECT * FROM provincias order by nombre';  
ADOQuery1.Open;  
quickRep1.Preview
end;

elturu15 21-05-2011 14:23:04

Quick Repord
 
Hola!! muchas gracias por ayudarme pero pongo el codigo que me dijiste en el Button1 y no pasa nada, se me abre la vista previa sin singuna dato...
No se que mas puedo hacer,,la verdad que no entiendo...De que otra manera se puede hacer? o que estoy haciendo mal?


La franja horaria es GMT +2. Ahora son las 11:22:17.

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