simplificar soma
Olá pessoal...
tenho o seguinte codigo:
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...
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
Curtidas 0
Respostas
Jarabeucp
28/10/2007
// 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
Tchucky
28/10/2007
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...
GOSTEI 0
Rjun
28/10/2007
Em vez de fazer esse while, por que você não faz um SELECT SUM?
GOSTEI 0