Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marostegan

[Resolvido] somar colunas

Recommended Posts

pessoal, estou colocando uma outa duvida aqui no que surgiu no desenvolvimento do meu sistema...

 

 

seguinte, eu tenhu um DBGrid com cadastros de produtos vendidos... e um outro de comprado...

em fim, estou usando banco de dados ACCESS...

 

o que eu gostaria de fazer é:

 

tem uma coluna no DBgrid que se chama VALOR

 

eu gostaria de fazer uma EDIT e que todos os valores da coluca VALOR fossem somados e o resultados fosse pra dentro dessa EDIT...

 

tem como fazer isso?

 

q jeito?

 

poxa... nao faço a minima ideia de como fazer isso! =//

 

valews mais uma vez galerinha!!

 

abraços... :blink:

 

 

 

 

ps.: queria aproveitar e pedir desculpas ai por ter aberto 2 topicos em seguida.. é que realmente estou precisando saber dessas coisas... e achei melhro abrir em topico separado para ficar mais facil pras pessoas achar depois na busca aqui no forum... vlws...!! []'ss

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae meu lider... blzinha?

bom, eu fiz dessa forma aqui...

primeiramente você coloca no evento keypress do seu edit valor, que, se a tecla enter for pressionada, executar a função abaixo...

 

if Key = #13 then

subtotalpecas:= StrToFloat(EdtSub_Total.Text);

totalgeral:= StrtoFloat(EdtValor_Total.Text);

somapecas:= subtotalpecas + totalgeral;

EdtValor_Total.Text:= FloatToStr(somapecas);

 

nesse caso, coloquei isso no evento keypress do editsub-total, pra sempre q a pessoa digitar o sub-total e der enter, já calcula o valor total...

no meu caso, essas variáveis foram declaradas lá no var, pq eu preciso delas depois...

e esses são meus edits, um o sub-total de um item, o outro o valor total, e ele pega a soma do item, mais o valor total que já tinha... ou seja, vai só acrescentando no valor total...

 

espero ter ajudado... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você pode fazer isto de duas maneiras ....

1º) Somando os dados no próprio select :

SELECT SUM(VALOR) AS VALOR FROM VENDAS
2º) Somar dentro de um laço while:

var
  Soma: Double;
begin
  Soma:= 0;
  ADOQuery1.First;

  while not ADOQuery1.Eof do
  begin
	Soma:= Soma + ADOQuery1VALOR.Value;
	ADOQuery1.Next;
  end;
  Edit1.Text:= FloatToStr(Soma);

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Amigos, belezinhaaa??

 

valew pelos codigos... hoje anoite eu vou fazer o teste aqui pra ver se funfa... e após testar já posto aqui o resultado!!

 

valewss!!!

 

abraçoss!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal... testei aqui mas não funfoo não... axo que fiz algo errado.. sei lah...

 

veja a imagem abaixo, o que quero é que naquele campo lá em baixo GASTO TOTAIS apareça a somatoria de todos os valores que estão nan celulas VALOR....

 

 

Imagem Postada

 

obrigado!!

 

=DD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja testou meu codigo?

Colocando o 2º código que lhe sugeri, dentro do evento AfterOpen da sua Query, vai funcionar ...

 

ixii...

 

deu erro nessa linha aqui ó:

 

Soma:= Soma + ADOQuery1VALOR.Value;

 

 

fala que VALOR nao está declarado...

 

o0''

Compartilhar este post


Link para o post
Compartilhar em outros sites

ADOQueryVALOR.Value é só um exemplo .... você tem este campo VALOR na sua tabela mesmo??? Se tiver então o erro ocorreu simplismente porque você não adicionou os campos da tabela nos fields da sua query.... então, pode - se resolver o erro, adicionando os campos e preservando o codigo que lhe passei, ou somente trocar o código:

 

Soma:= Soma + ADOQuery1VALOR.Value;
por

Soma:= Soma + ADOQuery1.FieldsByName('VALOR').Value;

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom diaaa!!!

 

opaa...

meu DB tem esse campo sim!!

 

vo testar aqui, depois posto o resultado...

 

valewss!!!

 

[ ]´sss

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá amigo, fiz isso mas ainda dá erro...

 

quando eu coloco pra rodar da o seuginte erro:

 

Undeclared Identifier: ´FieldsByName´

 

que qui será isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal, agora quase funcionou....

 

só tem um errinho...

 

se eu tiver a seguinte soma :

 

11,23

10,14

 

o resultado sai: 2137 e não 21,37 (com a v´rigula) como deveria sair...

 

porque isso? como arrumar?

 

a prorgamação que estou usando é a seguinte:

 

var
  Soma: Double;
begin
  Soma:= 0;
  ADOQuery1.First;

  while not ADOQuery1.Eof do
  begin
	Soma:= Soma + ADOQuery1.FieldByName('VALOR').Value;
	ADOQuery1.Next;
  end;
  Edit1.Text:= FloatToStr(Soma);
end;

 

 

obrigado pela forçaa!!

 

abraçoss...

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal ainda não deu certo...

 

olha meu problema agora....

 

quando eu tenho na minha coluna VALOR assim: (cadastrei só 2 produtos para exemplo...)

 

 

48,10

45,12

 

a soma disso sai assim:

 

R$ 9,322.00

 

e não como deveria sair, assim: R$ 93,22

 

da mesma forma quando eu tenho o seguinte valores cadastrados:

 

1.480,50

2.300,68

 

o resultado fica R$ 3.78 e não assim: R$ 3.781,18

 

 

 

a programação que estou usando é a seguinte:

 

var
  Soma: Double;

  begin
  Soma:= 0;
  ADOQuery1.First;

  while not ADOQuery1.Eof do
  begin
	Soma:= Soma + ADOQuery1.FieldByName('VALOR').Value;
	ADOQuery1.Next;

  end;
  Edit1.Text:= FloatToStrF(Soma,ffCurrency ,15,2);

	end;

que qui eu tenho que fazer pra funcionar certinho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

obs: eu tentei desse jeito aqui:

 

Edit1.text := formatfloat('R$ ###.##0,00', soma)

 

ai o resultado quase da certo... o unico problema dai é que ele não coloca as casas decimais deparadas... fica assim:

 

1.480,50

2.300,68

 

o resultado fica assim: R$ 3.78118

 

faltou só ficar assim agora: R$ 3.781,18

 

alguem sabe como resolver essa paradinha xarope??

Compartilhar este post


Link para o post
Compartilhar em outros sites

ixi.... :blink:

 

nao deu certo não desse jeito ai...

 

agora o resultado depois de somar os valores da coluna do DBGrid fica assim:

 

R$ 3.78

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal... to usando aqui o editmask e tah quase dando certo...

 

pra da certo só preciso que comece a numeração do lado direito para o esquerdo... e nao do esquerdo para o direito como é de padrão...

 

em como fazer isso com o editmask ou com algum outro objeto? [desde que esse outro objeto aceite formatação dos caracteres que vai receber....]

 

obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.