Halan Lopes Postado Abril 5, 2005 Denunciar Share Postado Abril 5, 2005 tenho um form com um DBGrid e gostaria de exibir a soma de uma coluna no form? Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 5, 2005 Denunciar Share Postado Abril 5, 2005 É tipo assim:use um Edit pra receber esse total, ex:procedure TForm1.Button1Click(Sender: TObject); var vTotal : Real; begin vTotal := 0; Table1.First; while not Table1.EOF do begin vTotal := vTotal + Table1.FieldByName('Total').Value; Table1.Next; end; Edit1.text := FormatFloat('0,00',vTotal); end;Abs. Progr'amador. Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 5, 2005 Autor Denunciar Share Postado Abril 5, 2005 e pra ir somando automaticamente? Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 5, 2005 Autor Denunciar Share Postado Abril 5, 2005 e eu uso DataModule! Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 5, 2005 Autor Denunciar Share Postado Abril 5, 2005 tentei usar o codigo acima mas só apareceu 000! Link para o comentário Compartilhar em outros sites More sharing options...
0 Tbaiano Postado Abril 5, 2005 Denunciar Share Postado Abril 5, 2005 O Código Acima do " Programador " ele tá certo... Tente ser mais especifico...olha só você usa o Data Modulo então a sua tabela em vez de Table1 por exemplo vai ter o Nome do DataModulo.TAble1...Onde Table1 é o nome da Tabela... Esse código quando se clica no botão ele soma, agora se quer que some automatimente coloque esse código em outo evento, o que você achar masi adquado...Lembrando que ele mexe com a tabela , não com o seu DBGrid...Mais Duvidas Tente ser mais claro dar mais detalhes... Ai o pessoal ajuda mais...Há! veja esse post aqui está logo abaixo... Ele vai lhe ajudar mostra como criar um campo Calculado em sua table e pode mostrar no DBgrid, não grava no banco só para visualizar...http://scriptbrasil.com.br/forum/index.php?showtopic=53474Valeu.. Tbaiano Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 5, 2005 Autor Denunciar Share Postado Abril 5, 2005 o valor ele soma, mas esta arredondando o valor, como faço pra aparecer o valor real? Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 5, 2005 Denunciar Share Postado Abril 5, 2005 Arredondando como?como deveria sair? quantas casas decimais? e como ta saindo ae? você precisa ser mais especifico.no exemplo que passei, é pra sair com duas casas decimais (Ex: 100.00)Abs. Progr'amador. Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 5, 2005 Autor Denunciar Share Postado Abril 5, 2005 gostaria que ficasse assim "1,50" mas o que está acontecendo é queele está arredondando pra "2", e com aquele exemploEdit1.text := FormatFloat('0,00',vTotal);aparece assim "002"quando eu coloqueiEdit1.text := FormatFloat(' ',vTotal);ele retornou o valor certo "1,5" mas sem a casa decimal que era pra ficar assim "1,50" Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 5, 2005 Denunciar Share Postado Abril 5, 2005 Sei computador deve ta configurado com ponto nas casas decimais, substitua a virgula mpelo ponto e faz o teste ae, ok!Edit1.text := FormatFloat('0.00',vTotal);Abs. Progr'amador Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 5, 2005 Autor Denunciar Share Postado Abril 5, 2005 deu certo agora eu coloquei no OnKeyDown do DBGrid para que ele atualize cada vez que eu clicar pra baixo, mas apareceu um problema!só consigo digitar um numero no campo quantidade, porque? Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 5, 2005 Denunciar Share Postado Abril 5, 2005 Como assim, ele dá algum erro? na hora que você digita? Qual código você ta usando no OnKeyDown?Abs. Progr'amador. Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 5, 2005 Autor Denunciar Share Postado Abril 5, 2005 o codigo é esse!procedure TfrmPedido.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);var vTotal : Real;begin vTotal := 0; DataModule1.DetalhedoPedido.First; while not DataModule1.DetalhedoPedido.EOF do begin vTotal := vTotal + DataModule1.DetalhedoPedido.FieldByName('Total').Value; DataModule1.DetalhedoPedido.Next; end; Edit1.text := FormatFloat('0.00',vTotal);end;é como se o segundo valor fosse um comando pra descer, dai ele entra apenas o primeiro valor! Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 6, 2005 Autor Denunciar Share Postado Abril 6, 2005 tem como ele descer apenas quando eu teclar Enter? Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 6, 2005 Denunciar Share Postado Abril 6, 2005 faz assim:procedure TfrmPedido.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var vTotal : Real; begin if key = vk_return then begin // 'vk_return' representa a tecla enter vTotal := 0; DataModule1.DetalhedoPedido.First; while not DataModule1.DetalhedoPedido.EOF do begin vTotal := vTotal + DataModule1.DetalhedoPedido.FieldByName('Total').Value; DataModule1.DetalhedoPedido.Next; end; Edit1.text := FormatFloat('0.00',vTotal); end; end;Abs. Progr'amador. Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 6, 2005 Autor Denunciar Share Postado Abril 6, 2005 deu o erro[Error] Pedido.pas(79): Undeclared identifier: 'key'[Warning] Pedido.pas(79): Comparing signed and unsigned types - widened both operands Link para o comentário Compartilhar em outros sites More sharing options...
0 Halan Lopes Postado Abril 6, 2005 Autor Denunciar Share Postado Abril 6, 2005 Desculpa foi erro meu, coloquei no procedure errado!Deu certo muito obrigado! Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 6, 2005 Denunciar Share Postado Abril 6, 2005 Ata!!! já tava até postando, pra ver onde você tinha colocado isso, porque esse erro era impossivel!!! Resolvido, tópico Fechado.Abs. Progr'amador. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Halan Lopes
tenho um form com um DBGrid e gostaria de exibir a soma de uma coluna no form?
Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados