Duvida com QR
Eu tenho um sistema com BD em paradox, que esta rodando ja há uns 3 meses no cliente e hj estou querendo colocar uma tela de relatorio com QR, mas preciso fazer o calculo dos valores mas o problema que o QR não esta fazendo a soma devido ao campo valor no banco de dados que eu defini como ´$´ e não como numerico, com isso o QR não faz a soma, gostaria de saber se tem como fazer com que o QR faz esta soma mesmo o campo sendo ´$´ ??
Valeu.
Valeu.
Japapdb
Curtidas 0
Respostas
Djjunior
27/02/2008
olá bem não conheço esse tipo de campo ´$´, mas se na sua query/table os registros não vem como float/bcd etc vc pode fazer o seguinte...
Crie uma variavel private tipo soma
No BeforePrint da banda detail some-a tipo : soma := soma + strtoFloat(valor)
na banda de sumario coloque um label
No BeforePrint da banda sumario faça: lbTot.caption := formatFloat(´#,0.00´) e logo após zere a variavel - pois se vc der um preview pra depois um print o resultado final vai sair dobrado !
Crie uma variavel private tipo soma
No BeforePrint da banda detail some-a tipo : soma := soma + strtoFloat(valor)
na banda de sumario coloque um label
No BeforePrint da banda sumario faça: lbTot.caption := formatFloat(´#,0.00´) e logo após zere a variavel - pois se vc der um preview pra depois um print o resultado final vai sair dobrado !
GOSTEI 0
Japapdb
27/02/2008
opa... acho q não entendi muito bem.
tipo o meu codigo ficou assim:
var
soma:real;
procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
soma := soma + strtofloat(dbedit1.Text);
end;
================================================
procedure TForm1.SummaryBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
label4.caption := formatfloat(´#,0.00´);
end;
mas não esta rodando esta segunda parte label4.caption :=formatfloat(´,0.00´);
esta dando um erro:
´There is no overloaded version of ´FormatFloat´ that can be called with these arguments´
Valeu!
tipo o meu codigo ficou assim:
var
soma:real;
procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
soma := soma + strtofloat(dbedit1.Text);
end;
================================================
procedure TForm1.SummaryBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
label4.caption := formatfloat(´#,0.00´);
end;
mas não esta rodando esta segunda parte label4.caption :=formatfloat(´,0.00´);
esta dando um erro:
´There is no overloaded version of ´FormatFloat´ that can be called with these arguments´
Valeu!
GOSTEI 0
Djjunior
27/02/2008
... o correto é formatfloat(´#,0.00´, soma);
[b:24c25e4b92] logo após ZERE a variavel - pois se vc der um preview pra depois um print o resultado final vai sair dobrado ! [/b:24c25e4b92]
[b:24c25e4b92] logo após ZERE a variavel - pois se vc der um preview pra depois um print o resultado final vai sair dobrado ! [/b:24c25e4b92]
GOSTEI 0
Japapdb
27/02/2008
O Amigão funciono tudo blz agora...
Vlw mesmo...
Vlw mesmo...
GOSTEI 0