Fazer relatórios agrupados no QReport

Delphi

16/04/2008

Olá pessoal, estou realizando uma pesquisa de aniversariantes e preciso que ele seja enviado para o QReport separando por mês, eu fiz uma Procedure enviando para txt, o resultado seria mais ou menos o mesmo, mas queria enviar para o QReport ao invés de txt, o código está assim
procedure Tfrm_niver.Pesquisa_Mensal;
var
  a: TextFile;
  Linha1, campo1, campo2, campo3 : string;
begin
AssignFile(a, ´C:\´+Edit1.Text+´.txt´);
Rewrite(a);
Writeln(a, ´Codigo´+´  ´+´Nome´+´                    ´+´Data Nascimento´);
Writeln(a,);
//=============================================================================\\   
//-------------------------------JANEIRO---------------------------------------\\   
  ZQuery_niver.Active:= False;                                                      
  ZQuery_niver.SQL.Clear;                                                           
  ZQuery_niver.SQL.Add(´select id_cliente, nome, telefone, email, nascimento ´);    
  ZQuery_niver.SQL.Add(´from clientes where extract(month from nascimento)=1´);     
  ZQuery_niver.Active:=True;                                                        
if(ZQuery_niver.RecordCount>0)then begin                                            
    Writeln(a);                                                                    
    Writeln(a,(´=========================JANEIRO==============================´));  
    Writeln(a);                                                                     
  while not ZQuery_niver.Eof do begin                                              
     campo1 := AjustaStr(ZQuery_niver.FieldByName(´id_cliente´).AsString,6);       
     campo2 := AjustaStr(ZQuery_niver.FieldByName(´nome´).AsString,23);             
     campo3 := ZQuery_niver.FieldByName(´nascimento´).AsString;                  
     Linha1 := campo1+´  ´+campo2+´ ´+campo3;                                       
     Writeln(a, Linha1);                                                            
     ZQuery_niver.Next;                                                             
     end                                                                            
     end                                                                            
else begin                                                                          
    Writeln(a);
    Writeln(a);                                                                     
    Writeln(a,(´                         JANEIRO                              ´));  
    Writeln(a,(´Nenhum aniversariante cadastrado para o mês de Janeiro´));
    Writeln(a);                                                                    
end;                                                                                
//=============================================================================\\  
//-------------------------------FEVEREIRO-------------------------------------\\
  ZQuery_niver.Active:= False;
  ZQuery_niver.SQL.Clear;
  ZQuery_niver.SQL.Add(´select id_cliente, nome, telefone, email, nascimento ´);
  ZQuery_niver.SQL.Add(´from clientes where extract(month from nascimento)=2´);
  ZQuery_niver.Active:=True;
if(ZQuery_niver.RecordCount>0)then begin
    Writeln(a);
    Writeln(a);
    Writeln(a,(´=========================FEVEREIRO============================´));
    Writeln(a);
  while not ZQuery_niver.Eof do begin
     campo1 := AjustaStr(ZQuery_niver.FieldByName(´id_cliente´).AsString,6);
     campo2 := AjustaStr(ZQuery_niver.FieldByName(´nome´).AsString,23);
     campo3 := ZQuery_niver.FieldByName(´nascimento´).AsString;
     Linha1 := campo1+´  ´+campo2+´ ´+campo3;
     Writeln(a, Linha1);
     ZQuery_niver.Next;
     end;
     end
     else begin
    Writeln(a);
    Writeln(a);
    Writeln(a,(´                       FEVEREIRO                              ´));
    Writeln(a,(´Nenhum aniversariante cadastrado para o mês de Fevereiro´));
    Writeln(a);
     end;

E por aí vai, até Dezembro, Não sei como fazer este procedimento, de separar mês a mês, colocando a descrição do mês e passando um traço, o que sai no txt é assim
Codigo Nome Data Nascimento =========================JANEIRO============================== 4 JOAO PAULO 01/01/2004 10 AMADEU SILVÉRIO 01/01/2001 11 HENRIQUE MARINHO 02/01/1999 =========================FEVEREIRO============================ 5 MARCELO ANTUNES 02/02/1995 MARCO Nenhum aniversariante cadastrado para o mês de Março =========================ABRIL=============================== 3 CARLOS 01/04/1979

Era assim que gostaria que ficasse, só que, no QReport, ou pode ser no Fortes Report, mas nesse eu nunca trabalhei!!!


Taraciuk

Taraciuk

Curtidas 0
POSTAR