Somar dados de dois campo

Delphi

29/06/2012

Pessoal Boa Noite !

Estou precisando de ajuda ,estou criando um controle de estoque e queria fazer a soma dos valores do mes inteiro de um determinado produto. Ex durante o mes quanto em um determinado setor gastou.
Estou usando banco MYSQL ,clientdataset,e SQLQUERY.

Atraves dos forum descobri algo sobre loop , mas nem imagino como funciona .

Peço paciencia ,pois sou novo na area e nunca fiz algo desse tipo.

Obrigado
Watson Rocha

Watson Rocha

Curtidas 0

Respostas

Wasley Portes

Wasley Portes

29/06/2012

Boa noite, você pode fazer um SELECT na tabela fazendo a soma.
SELECT SUM(CAMPO) FROM TABELA
Abraços
GOSTEI 0
Watson Rocha

Watson Rocha

29/06/2012

Wasley Boa tarde !

Desculpe me mas não sei como faz isso . eu coloquei essa query no botão ,mas não deu certo ..
Você poderia me explicar como fazer isso !

Obrigado novamente ...

procedure TForm4.Button2Click(Sender: TObject);
begin
select sum (quantidade) from almox
end;

end.
GOSTEI 0
Watson Rocha

Watson Rocha

29/06/2012

Wasley acho que eu nao fui bem claro.
quero somar todos os valores do Campo Valor e me retorne esse dados em um edit ou dbedit segue abaixo como estou fazendo

procedure TForm4.Button2Click(Sender: TObject);
begin
SQLQUERY1.Close;
SQLQUERY1.SQL.Clear;
SQLQUERY1.SQL.Add(select SUM(Valor) from almox );
SQLQUERY1.Open;
DBEDIT1.Text:= IntToStr(SQLQUERY1.RecordCount);
END;
END.

O erro que me apresenta é um seguinte ,ele está somando a quantidade de linha do meu dbgrid .pois que na verdade
eu quero que some os valores da linha do dbgrid
ex-NF-1 Valor 10 some com a NF-2 valor-20 e o resultado me mostrasse no edit = 30

Obrigado
GOSTEI 0
Wasley Portes

Wasley Portes

29/06/2012

Você pode colocar assim.

procedure TForm4.Button2Click(Sender: TObject);
begin
SQLQUERY1.Close;
SQLQUERY1.SQL.Clear;
SQLQUERY1.SQL.Add(select SUM(Valor) as total from almox);
SQLQUERY1.Open;
DBEDIT1.Text:= SQLQUERY1.fieldbyname(total).asString;
END;

Acredito que vá funcionar.
Abraços
GOSTEI 0
Romulo Contro

Romulo Contro

29/06/2012

Isso mesmo, a ideia do Wasley é valida...

vi que vc colocou RecordCount ali em cima... no caso, esse comando só serve para somar a quantidade de linhas e não de um determinado campo...

mas faz igual o Wasley falou que eu acredito que vai atender o que vc precisa
GOSTEI 0
Watson Rocha

Watson Rocha

29/06/2012

Diogo Boa Tarde , O RecordCount eu coloco no lugar o fieldbyname ?

Obrigado
GOSTEI 0
Wasley Portes

Wasley Portes

29/06/2012

Watson, depende da sua necessidade.
Para a quantidade de registros você utiliza assim:

procedure TForm4.Button2Click(Sender: TObject);
begin
SQLQUERY1.Close;
SQLQUERY1.SQL.Clear;
SQLQUERY1.SQL.Add(select count(*) as total from almox);
SQLQUERY1.Open;
DBEDIT1.Text:= SQLQUERY1.fieldbyname(total).asString;
END;


Para somar o valor de algum campo utiliza assim:

procedure TForm4.Button2Click(Sender: TObject);
begin
SQLQUERY1.Close;
SQLQUERY1.SQL.Clear;
SQLQUERY1.SQL.Add(select count(vl_nota) as total from almox);
SQLQUERY1.Open;
DBEDIT1.Text:= SQLQUERY1.fieldbyname(total).asString;
END;
GOSTEI 0
POSTAR