Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   No me sale el reporte completo (https://www.clubdelphi.com/foros/showthread.php?t=45711)

magnu9 11-07-2007 23:30:01

No me sale el reporte completo
 
Estoy intentando tirar un reporte de cliente... bueno he logrado definirlo, como pueden ver a mi manera, pero me surge un problemita que no logro despojar y que cuando me sale el reporte solo me consulta el primer cliente los de mas no salen... a pesar de poner desde 1 hasta 7.

Código Delphi [-]
var m: integer;
begin
 m:= ListBox2.Items.Count;
   try
   FicCliente:=TFicCliente.Create(self);
      if Ordenar.ItemIndex = 0 then begin
         FicCliente.querCliente.SQL.Add(' Select  codcli as codigo,nomcli as NOMBRE, dircli, telcli,cedcli, estado, codciu From cliente ');
         FicCliente.querCliente.SQL.Add(' WHERE cliente.codcli >='''+(edCodigo1.Text)+''' AND cliente.codcli <= '''+(edCodigo2.Text)+'''');
         FicCliente.querCliente.SQL.Add('or (cliente.nomcli >='''+edNombre1.text+'%'' AND cliente.nomcli <= '''+edNombre2.text+'%'')');

         IF m=0 THEN
         FicCliente.querCliente.SQL.Add(' ORDER BY CODCLI ASC')
         else IF m=1 THEN
         FicCliente.querCliente.SQL.Add(' ORDER BY '+ListBox2.Items[0]+'')
         else IF m=2 THEN
         FicCliente.querCliente.SQL.Add(' ORDER BY '+ListBox2.Items[0]+','+ListBox2.Items[1]+'')
         else IF m=3 THEN
         FicCliente.querCliente.SQL.Add(' ORDER BY '+ListBox2.Items[0]+','+ListBox2.Items[1]+','+ListBox2.Items[2]+'')
         else IF m=4 THEN
         FicCliente.querCliente.SQL.Add(' ORDER BY '+ListBox2.Items[0]+','+ListBox2.Items[1]+','+ListBox2.Items[2]+','+ListBox2.Items[3]+'');
      end
      else  begin
         FicCliente.querCliente.SQL.Add(' Select  codcli,nomcli, dircli, telcli,cedcli, estado, codciu From cliente ');
         FicCliente.querCliente.SQL.Add(' WHERE cliente.codcli >='''+(edCodigo1.Text)+''' AND cliente.codcli <= '''+(edCodigo2.Text)+'''');
         FicCliente.querCliente.SQL.Add('OR cliente.nomcli='''+edNombre1.Text+''' and cliente.nomcli='''+edNombre2.Text+'''');
          IF ListBox2.ItemIndex=1 THEN
          FicCliente.querCliente.SQL.Add(' ORDER BY '+ListBox2.Items[0]+', '+ListBox2.Items[1]+'');
      end;

    //     Showmessage(FicCliente.querCliente.SQL.text);
         FicCliente.querCliente.Open;
         FicCliente.Titulo.text := 'Reporte de Cliente';       
         If Salida.ItemIndex = 0 then FicCliente.QuickRep1.Preview
           else if Salida.ItemIndex= 1 then FicCliente.QuickRep1.Print;
      finally
         FicCliente.Free;
      end;
end;

Caro 12-07-2007 00:36:47

Hola debes enlazar tu query al dataset de tu reporte antes de hacer el preview.

Código Delphi [-]
 .............
 FicCliente.querCliente.Open;
 FicCliente.Titulo.text := 'Reporte de Cliente';
 
 FicCliente.QuickRep1.DataSet:=FicCliente.querCliente;

 If Salida.ItemIndex = 0 then FicCliente.QuickRep1.Preview
   else if Salida.ItemIndex= 1 then FicCliente.QuickRep1.Print;
.............

magnu9 12-07-2007 20:03:32

Gracias
 
Un millón de Gracias Caro, ;) con tu respuesta todo se me resolvio.


La franja horaria es GMT +2. Ahora son las 20:04:14.

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