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


Jairo-go

Jairo-go

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.

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!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar