Fórum Relatório Quickreport - Problemas no qrLabel.caption no evento BeforePrint #472161

06/03/2014

0

Olá pessoal, tudo bem?
Estreiando aqui no fórum e já pedindo ajuda...rs

Estou em um projeto em que estou desenvolvendo um relatório em quickreport.

Tenho dados em QRDBTEXT que está listando os dados do sistema perfeitamente.

Porém, preciso inserir listar em uma qrLabel o resultado de dias em que venceu um boleto.

Está assim...

QRDBTEXT QRLABEL
data Vencimento dias vencidos Juros Total a pagar
06/02/2014 XXXX Dias
10/01/2014 XXXX Dias

Estou usando o QRLabel.Caption e atribuindo o valor de uma função para retornar os dias vencidos. porém está pegando somente o do último registro no evento BeforePrint. :S

Alguém poderia me dar uma luz?

Grato.



Celso Kushi

Celso Kushi

Responder

Posts

06/03/2014

Luiz

Boa tarde.

Mas esse label fica numa banda detalhe? Se sim você tem que colocar a função e o caption no beforeprint da banda detalhe e não do relatório, verifique se esta fazendo isso ...
Responder

Gostei + 0

06/03/2014

Carlos Cabral

Espero que voce faça uma boa estréia. Graças ao forum eu consegui resolver muitos problemas, então sempre que posso também ajudo. O que você esta questionando e o modo que você fez esta correto. Teoricamente voce deve fazer estes calculos em linhas detalhes, sendo assim a instrução a ser utilizada tem de ser no beforePrint mesmo, na realidade no beforePrint, você pode fazer praticamente tudo. Também fiquei curioso para saber se voce criou um campo para a data e outro para o resultado em dias, ou fez tudo numa string só. O correto neste caso é ter 3 strings, uma para a data, outra para o resultado e outra para o tempo (dias,meses,anos). Espero ter ajudado. Boa sorte.
Responder

Gostei + 0

07/03/2014

Celso Kushi

Boa tarde.

Mas esse label fica numa banda detalhe? Se sim você tem que colocar a função e o caption no beforeprint da banda detalhe e não do relatório, verifique se esta fazendo isso ...


Olá Luiz, essa Label está na banda Subdetail .

Olá Carlos, estou usando da seguinte forma...

Data Vencimento------Dias Vencidos -->-----Juros------------Total a Pagar-------
--QRDBTEXT --------------QRLabel-----------QRLabel--------------QRLabel-------

Resultado da Impressão

Data Vencimento------Dias Vencidos --
--10/02/2014---------------23-------( aqui o correto seria 21 dias)
--12/02/2014---------------23-------

O que está pegando é que qdo atribuio ao QRLabel.Caption o valor da minha variável (no BeforePrint), ele só imprime o resultado do último registro.
Já tentei fazer pegar com um loop e tbem não deu certo....
Existe algum meio de poder fazer isso?

Grato.
Responder

Gostei + 0

07/03/2014

Luiz

Cara,

Da pra fazer sim, é tranquilo, mas é difícil falar onde esta o problema sem ver o código.

O label.caption teria que estar na banda subdetail e no beforeprint dessa mesma banda você disparar a função (o parâmetro na função teria que ser o campo que varia que veio no seu subdetail) ...

Outra saída que seria fácil você fazer, é ao invés de calcular esses dias utilizando, você calcula no próprio sql (na sua select), acredito que a função DATEDIFF()... e ai você ligaria esse campo novo que vc calculou no sql no seu QRDBTEXT ...

Responder

Gostei + 0

07/03/2014

Carlos Cabral

Realmente sem ver o fonte as vezes fica difícil. Mas lá vai outra dica em cima do que voce narrou. O quick, tem algumas facilidades e instruções que podem ser utilizadas. Tente fazer o seguinte, no before printer crie uma variavel para resultado do calculo da data. Faça o calculo da data resultando a quantidade de dias. (utilize o between) o resultado da variavel, voce passa para uma label (atraves do labelcampo.caption.
Responder

Gostei + 0

08/03/2014

Ricardo

É assim mesmo, conforme o colega Carlos citou. Eu tenho alguns aplicativos usando o QuickReport e no caso eu faço a contagem de dias em que um veículo está com a vistoria vencida.

No meu form eu tenho a função que faz os cálculos, o resultado é atribuído a uma variável. Na função de chamada do relatório (antes da chamada) eu envio o valor da variável. Ex:

QuickReport1.QRLabel1.Caption := variavel;

Dessa forma o valor será impresso no relatório, faça assim que não tem erro.
Responder

Gostei + 0

09/03/2014

Celso Kushi

Vlw Pessoal, deu certo!

Obrigado pela ajuda de vcs! Muito Obrigado!

Problema Resolvido!

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar