Guest JF_Lima Postado Dezembro 26, 2004 Denunciar Share Postado Dezembro 26, 2004 Preciso Somar Uma grid (consta valores de uma tabela), a Somatória será limitada por duas entradas de um usuário e colocarei o resultado num edit. Module.TB_Dividas.First; while not Module.TB_Dividas.Eof do begin if (Module.TB_DividasDATA.AsDateTime >= Data3) and (Module.TB_DividasDATA.AsDateTime <= Data4) then begin x:= Module.TB_DividasVALOR.AsFloat; valor := Valor+x; x:=0; Module.TB_Dividas.Next; end else begin Module.TB_Dividas.Next; end end end; if Valor <> 0 then begin Saida.Text := FloatTostr(Valor); end end Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 27, 2004 Denunciar Share Postado Dezembro 27, 2004 Seria isso mesmo, só que a linha... Module.TB_Dividas.Next;... pode aparecer só uma vez dentro do loop (fora do if e fora do else, já que ela é executada para ambos). Todavia, não existe um problema grave no fato de ela aparecer duas vezes, como está no seu código.Então, qual seria a sua dúvida? O código não está funcionando? E, não seria melhor usar SQL para isso?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest JF_Lima
Preciso Somar Uma grid (consta valores de uma tabela), a Somatória será limitada por duas entradas de um usuário e colocarei o resultado num edit.
Module.TB_Dividas.First;
while not Module.TB_Dividas.Eof do
begin
if (Module.TB_DividasDATA.AsDateTime >= Data3) and (Module.TB_DividasDATA.AsDateTime <= Data4) then
begin
x:= Module.TB_DividasVALOR.AsFloat;
valor := Valor+x;
x:=0;
Module.TB_Dividas.Next;
end
else
begin
Module.TB_Dividas.Next;
end
end
end;
if Valor <> 0 then
begin
Saida.Text := FloatTostr(Valor);
end
end
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.