GARANTIR DESCONTO

Fórum simplificar soma #348093

28/10/2007

0

Olá pessoal...

tenho o seguinte codigo:
// Soma totais das costas 
procedure TFrmCtaReceber.SomaContas; 
var 
  Soma:Currency; 
Begin 
  Soma:=0; 
  ADO_CtaRecParc.First; 
  while not ADO_CtaRecParc.eof do 
  begin 
    Soma := Soma + ADO_CtaRecParc.FieldByName(´VALOR´).AsFloat; 
    ADO_CtaRecParc.Next; 
    Edit3.Value := Soma; 
 end; 

 //****************************************************************** 
      begin 
        Soma:=0; 
        ADO_CtaRecParc.Close; 
        ADO_CtaRecParc.ParamByName(´QUITADO´).AsString :=´S´; 
        ADO_CtaRecParc.Open; 
        ADO_CtaRecParc.First; 
        while not ADO_CtaRecParc.eof do 
        begin 
          Soma := Soma + ADO_CtaRecParc.FieldByName(´VALOR´).AsFloat; 
          ADO_CtaRecParc.Next; 
          Edit1.Value := soma; 
        end; 
      end; 
     Edit2.Value := Edit3.Value - Edit1.Value; 
 end; 


eu quero tirar um dos ADO_CtaRecParc.First; que tenho nesse codigo pois quando eu abro o form ele percorre a tabela 2 vezes e quando tem muito registro demora muito para ele percorrer essa tabela... deixando um apenas assim so teria uma passagem na tabela ou uma forma de somar tudo sem percorrer a tabela...


Tchucky

Tchucky

Responder

Posts

30/10/2007

Jarabeucp

// Soma totais das costas 
procedure TFrmCtaReceber.SomaContas; 
var 
  Soma:Currency; 
begin 
  Soma:=0; 
  ADO_CtaRecParc.Close; 
  ADO_CtaRecParc.ParamByName(´QUITADO´).AsString :=´S´; 
  ADO_CtaRecParc.Open; 
  ADO_CtaRecParc.First; 
  While not ADO_CtaRecParc.eof do 
  begin 
    Soma := Soma + ADO_CtaRecParc.FieldByName(´VALOR´).AsFloat; 
    ADO_CtaRecParc.Next; 
    Edit1.Value := soma;
    Edit3.Value := Soma;  
  end; 
  Edit2.Value := Edit3.Value - Edit1.Value;  
end; 

end.
 [quote] amigo eu faria assim como descrito assima, pq vc faz as duas coisa ou seja dois codigos iguais em um mesmo lugar.




Responder

Gostei + 0

30/10/2007

Tchucky

fera tentei fazer dessa forma mas ele naum faz a soma total q é armazenada do edit3, assim o outros campos naum recebe os dados correto...


Responder

Gostei + 0

30/10/2007

Rjun

Em vez de fazer esse while, por que você não faz um SELECT SUM?


Responder

Gostei + 0

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

Aceitar