Fórum simplificar soma #348093
28/10/2007
0
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
Curtir tópico
+ 0Posts
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.
Gostei + 0
30/10/2007
Tchucky
Gostei + 0
30/10/2007
Rjun
Gostei + 0