Fórum Formatar campo SQL #368914
09/03/2009
0
with DataModule.Query to begin close; SQL.clear; SQ.Add(´select TOTAL from conta...´); ParamByname(´TOTAL´).DisplayFormat := ´#,0.00´; open; end;
Sendo que [b:34c0cbdefe]TOTAL [/b:34c0cbdefe]é um campo do tipo [b:34c0cbdefe]NUMERIC[/b:34c0cbdefe]. Porém a propriedade
[b:34c0cbdefe]DisplayFormat [/b:34c0cbdefe]não é reconhecido como complemento de [b:34c0cbdefe]ParamByNam[/b:34c0cbdefe]e.
Para o que pretendo fazer o único meio de formatar o campo é fazendo
as modificações na [b:34c0cbdefe]QUERY[/b:34c0cbdefe] no proprio código.
Desde já obrigado.
Fabricio.ribeiro
Curtir tópico
+ 0Posts
09/03/2009
Woinch
Espero ter ajudado.
Gostei + 0
09/03/2009
Fabricio.ribeiro
O que eu quero teoricamente é simples. Quero formatar um Campo de uma
tabela através de uma QUERY, e exibir isto em um DBGrid. Porém a formatação
só pode ser feita no código, ou seja, eu não posso colocar o comando SQL
diretamente no componente QUERY.
Gostei + 0
09/03/2009
Woinch
Gostei + 0
09/03/2009
Fabricio.ribeiro
Nesta Tabela temos os campos ID_CONTA, DATA, PERIODO e TOTAL.
Total é do tipo NUMERIC(2,9).
Quando faço uma consulta na tabela e venho com um determinado registro,
exibo-o no DBDrig, porém, por exempo, no campo TOTAL é exibido o seguinte valor: 1,5.
Agora quero formatar este campo para que seja exibido no DBGrid o seguinte valor: 1,50. Ou seja, os valores terão pelos menos duas casas decimais após a virgula.
O DBGrid estará ligada com o DataSoruce da QUERY.
O que foi explicado assima não é difícil quando a consulta é inserida diretalmente na propriedade SQL de um componente QUERY, poi basta
usar a propriedade Display Format dos Campos da Consulta. Porém
quero fazer isto em um procedimento, ou seja, em tempo de execução,
e é aí que se encontra o problema.
Espero que tenha esclarecido o problema.
Gostei + 0
10/03/2009
Abysmall
Qual versão do Delphi você usa?
Tente usar o seguinte:
with DataModule.Query do begin Close; SQL.Clear; SQL.Add(´ SELECT CAST(CONTA.TOTAL AS FLOAT) AS TOTAL FROM CONTA ´); Open; FieldByname(´TOTAL´).DisplayFormat := ´#,0.00´; end;
Gostei + 0
10/03/2009
Fabricio.ribeiro
Estou usando o Delphi 7 e o banco Firebird 2.0
Tentei a sua sugestão, porém o delphi não reconhece DisPlayFormat como um complemento de FielByName().
Obrigado por responder.
Gostei + 0
10/03/2009
Fabricio.ribeiro
Demorou mas consegui...
Bom pessoal obrigado pela ajuda, acabei achando um meio de se resolver
tal problema, e é do seguinte modo:
with DataModule.Query do begin Close; SQL.Clear; SQL.Add(´ SELECT CAST(CONTA.TOTAL AS FLOAT) AS TOTAL FROM CONTA ´); Open; TNumericField(DataModule.Query.FieldByname(´TOTAL´).DisplayFormat := ´#,0.00´; end;
Obrigado por tudo! :D
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)