Fórum TEM COMO SOMA VALOR NA DBGRID ???? #155718
25/04/2003
0
Ai pessoa tudo bem?
>>>Faço uma consulta com nome do cliente , usando (Query , DataSouce, DBGrid, um Botão) onde tenho uma Tabela com Campo
“ Valor&8221; para armazena os preços que o cliente comprou .......Tem como SOMA os preços na DBGrid (ulima linha ) ou no Edit....sou iniciante [ ]s ....jairofac@ig.com.br
>>>Faço uma consulta com nome do cliente , usando (Query , DataSouce, DBGrid, um Botão) onde tenho uma Tabela com Campo
“ Valor&8221; para armazena os preços que o cliente comprou .......Tem como SOMA os preços na DBGrid (ulima linha ) ou no Edit....sou iniciante [ ]s ....jairofac@ig.com.br
Jairo-go
Curtir tópico
+ 0
Responder
Posts
25/04/2003
Raphael Oliveira
Vou colocar aki uma parte de um código que tenho que faz isso que vc quer, só que no meu a consulta é feita por um intervalo de datas, mas ve se vc consegue entender.
Qualquer coisa é só avisar.
Qualquer coisa é só avisar.
procedure TFrmPrincipal.SpeedButton1Click(Sender: TObject); var x: integer; valor: Real; begin with Dm.QryCheque do begin DisableControls; // Desabilita os controles da Grid e evita o flic na tela close; Params[0].AsDate:=StrtoDate(MaskEdit1.Text); // Formato:MM/DD/AA Params[1].AsDate:=StrtoDate(MaskEdit2.Text); if not Prepared Then Prepare; Open; First; valor := 0; For x:=1 to Recordcount do // Ou colocar o RecordCount com -1 Begin valor := valor + FieldByName(´Valor´).AsCurrency; Next; End; enableControls; label19.Caption := FormatFloat(´0,000.00´, Valor); end; end;
Responder
Gostei + 0
25/04/2003
Chacallgo
Amigo, se vc não puder colocar uma query auxiliar que dê a soma
ex:
qryAux.Close;
qryAux.SQL.Clear;
qryAux.SQL.Add( ´Select Sum( Valor ) as Valor From Tabela´ );
qryAux.Open;
Label.Caption := FormatFloat( ´,0.00´, qryAux.FieldByName( ´Valor´ ).AsFloat );
, então a melhor opção e percorrer a sua tabela ex:
...
query1.Open;
query1.First;
while not query1.Eof do
begin
fValor := fValor + query1.FieldByName( ´Valor´ ).AsFloat; // ou
fValor := fValor + query1Valor.AsFloat // Depende se a sua query possui o campo em design time
query1.Next;
end;
Label.Caption := FormatFloat( ´,0.00´, fValor );
Ah, no DBGrid não têm uma linha de sumário, porém existem componentes GRID que dão essa opção, como por exemplo o dxDBGrid da coleção DevExpress
Tente conseguir o conjunto de componentes citado que é muito bom!
ex:
qryAux.Close;
qryAux.SQL.Clear;
qryAux.SQL.Add( ´Select Sum( Valor ) as Valor From Tabela´ );
qryAux.Open;
Label.Caption := FormatFloat( ´,0.00´, qryAux.FieldByName( ´Valor´ ).AsFloat );
, então a melhor opção e percorrer a sua tabela ex:
...
query1.Open;
query1.First;
while not query1.Eof do
begin
fValor := fValor + query1.FieldByName( ´Valor´ ).AsFloat; // ou
fValor := fValor + query1Valor.AsFloat // Depende se a sua query possui o campo em design time
query1.Next;
end;
Label.Caption := FormatFloat( ´,0.00´, fValor );
Ah, no DBGrid não têm uma linha de sumário, porém existem componentes GRID que dão essa opção, como por exemplo o dxDBGrid da coleção DevExpress
Tente conseguir o conjunto de componentes citado que é muito bom!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)