Flavio,

Voce deve zerar a variavel antes de imprimir. Faça assim:

  { ***** Procedimento para mostrar o número total de ítens
    ***** doados. O componente qrlQtdTotalDoados recebe esse
    ***** valor. }
  procedure TfRelatorioPatrimonio.bndSummaryBeforePrint(
    Sender: TQRCustomBand; var PrintBand: Boolean);
  begin

      // o componente qrlQtdTotalDoados é um QRLabel
      qrlQtdTotalDoados.Caption := IntToStr(QtdTotalDoados);

      //-- AQUI AQUI AQUI ---------

      QtdTotalDoados := 0;

  end;


[ ]´s
Moacir


Flavio escreveu:
> Olá pessoal,
> 
> realmente está praticamente finalizado o sistema, mas há uma coisinha 
> bastante estranha acontecendo no momento de impressão do relatório.
> é o seguinte:
> 
> o sistema permite filtrar uma busca e jogar no relatório. Imprime alguns 
> dados contidos no banco Interbase 6 numa detail band. Existe também uma 
> summary band que fornece o número de ítens encontrados na detail band, o 
> valor total dos itens e o número de ítens doados (no caso,se o ítem é doado, 
> então seu campo "doado" tem uma string, caso não seja, o campo é nulo. 
> Portanto coloco um if para verificar se é doado ou não).
> 
> Esses são os procedimentos do form do Relatório:
> 
> { ***** Procedimento para incrementar a variável pública da
>   ***** classe TfRelatorioPatrimonio. }
> procedure TfRelatorioPatrimonio.bndDetailBeforePrint(Sender: TQRCustomBand;
>   var PrintBand: Boolean);
> begin
> 
>     // O incremento da variável só se dá quando o campo doado
>    // da query for diferente de nulo, logicamente.
>     if(dmBaseDados.IBQuery1.FieldValues['doado'] <> null) then
>        QtdTotalDoados := QtdTotalDoados + 1;
> 
> end;
> 
> 
> { ***** Procedimento para mostrar o número total de ítens
>   ***** doados. O componente qrlQtdTotalDoados recebe esse
>   ***** valor. }
> procedure TfRelatorioPatrimonio.bndSummaryBeforePrint(
>   Sender: TQRCustomBand; var PrintBand: Boolean);
> begin
> 
>     // o componente qrlQtdTotalDoados é um QRLabel
>     qrlQtdTotalDoados.Caption := IntToStr(QtdTotalDoados);
> 
> end;
> 
> 
> O problema é o seguinte: Vamos supor q a qtd de itens doados seja 12. No 
> preview do relatório é mostrado o valor 12, porém, quando imprimo o 
> documento, o valor desse campo é impresso na folha como sendo 24 (ou seja, o 
> dobro).
> 
> Será que alguem sabe me dizer o que está acontecendo !?!??!?!?!??!?!?
> 
> Obrigado pela atenção!
> 
> Flávio
> 
>               
> ---------------------------------
>  O Yahoo! está de cara nova. Venha conferir!
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a