Mostar casas decimais em um relatório

Delphi

28/11/2005

Gostaria de saber se é possível mostrar casas decimais em um relatório no quick report
ex: 13,00 ou então 17,02

se existir algum comando em sql por favor me ajudem


00seth

00seth

Curtidas 0

Respostas

Poeta Noturno

Poeta Noturno

28/11/2005

amigo, vc não precisa de comando sql para fazer isso no quick report.
se vc utilizar o Clientdataset por exemplo, adicione os tfields e altere a propriedade currency do tfield desejado para true... além das casas decimais, é adicionado o símbolo monetário.
caso queria mais de 2 casas decimais, e o simbolo monetário não ser tão importante assim, altere a propriedade displayformat para #,0.00, por exemplo... quanto mais zeros após o ponto, mais casas decimais ele irá exibir


GOSTEI 0
Osocram

Osocram

28/11/2005

Gostaria de saber se é possível mostrar casas decimais em um relatório no quick report ex: 13,00 ou então 17,02 se existir algum comando em sql por favor me ajudem

coloque no DisplayFormat do campo (lah no TDataSet q esteja usando) o seguinte
,#.00

Apenas isso non eh necessario colocar:
,0.00

Como o Poeta Noturno flw... pois essa formatacao funcionaria bem ateh 999.999,00 se fosse mais q isso ele non adicionaria mais os pontos de milhar.


GOSTEI 0
00seth

00seth

28/11/2005

Desculpem minha ignorância mais eu não entendi nada


GOSTEI 0
00seth

00seth

28/11/2005

Entendi mas só funciona se o campo na tabela for inteiro e na tabela o campo ´valor´ está no formato texto

tem salvação


GOSTEI 0
00seth

00seth

28/11/2005

sobe


GOSTEI 0
Osocram

Osocram

28/11/2005

Entendi mas só funciona se o campo na tabela for inteiro e na tabela o campo ´valor´ está no formato texto tem salvação

na verdade se o valor fosse ponto flutuante...

mas sendo texto... eh isso pod trazer problemas p vc em alguns sql... mas vc pod fazer assim

Edit.text := FormatFloat(´,#.00´,CdsVAlor.asFloat)


ou

Edit.text := FormatFloat(´,.00´,StrToFloat(CdsVAlor.asString))


OBS:... Pq esse campo valor eh do tipo texto?


GOSTEI 0
00seth

00seth

28/11/2005

Descobri qual o problema eu faço uma soma no sql

With ADOQuery1 do
begin
Close;
Sql.Clear;
Sql.Add(´select nome, t.cod_prod, t.marca, sum(qtd_tot), sum (preco_total) from temp_aq t, produtos p´);
sql.Add(´where p.cod_prod = t.cod_prod´);
sql.Add(´group by t.cod_prod, t.marca, nome´);
open;
end;

Form18.QuickRep1.Preview;

e essa soma na SQL que vai para o relatório é ela que eu quero que tenha casas decimais mais ela arredonda, existe algum jeito


GOSTEI 0
Ramms

Ramms

28/11/2005

Passa o valor do resultado da sql para um edit e nele vc aplica a formatação, ai no relatório no beforeprint vc dah um qrlabel.caption := edit1.text;
jah era....


GOSTEI 0
Osocram

Osocram

28/11/2005

coloque no DisplayFormat do campo (lah no TDataSet q esteja usando) o seguinte
,#.00
Apenas isso non eh necessario colocar:
,0.00
Como o Poeta Noturno flw... pois essa formatacao funcionaria bem ateh 999.999,00 se fosse mais q isso ele non adicionaria mais os pontos de milhar.

Eh so fazer isso e jogar um DBQrEdit
tipo vc dah dois clique no seu DataSet, dae ele vai t trazer os campos.. dae vc seleciona o campo valor q quer e coloca no DisplayFormat
,.00



GOSTEI 0
POSTAR