Pessoal, to querendo fazer um looping, mas não estou acertando,

O que quero é que rode um select com todas as contas de uma tabela, e faças
as operações uma por uma, até chegar ao final da tabela.

Segue um pedaço onde consta o looping:

//CALCULA O TOTAL DE DEBITOS E CREDITOS

ENTRADAS := 0;
SAIDAS   := 0;
ANTERIOR := 0;
SALDO    := 0;

DM.IBDSetBalanco.Open;
DM.IBDSetBalanco.Edit;


With IBQryBalanco do begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM BALANCO');
SQL.Add('WHERE CODIGREJA = ' + QuotedStr(Edit1Igreja.Text));
Open;
end;

while Not (IBQryBalanco.Eof) do begin
SAIDAS   := SAIDAS + DM.IBDSetBalancoSAIDAS.Value;
ENTRADAS := ENTRADAS + DM.IBDSetBalancoENTRADAS.Value;

with IBQryPlano do begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM PLAN_CTA');
SQL.Add('WHERE CONTA = ' + QuotedStr(IBQryBalancoCONTA.Text));
IBQryPlano.Open;
end;

IF IBQryPlanoENTSAI.AsString = 'S' THEN
BEGIN
DM.IBDSetBalanco.Open;
DM.IBDSetBalanco.Edit;
ANTERIOR := DM.IBDSetBalancoSALDO.Value;
SALDO    := SAIDAS - ENTRADAS;
DM.IBDSetBalancoANTERIOR.Value := ANTERIOR;
DM.IBDSetBalancoSALDO.Value := SALDO;
DM.IBDSetBalanco.Post;
DM.IBDSetBalanco.Next;
END

ELSE

BEGIN
DM.IBDSetBalanco.Open;
DM.IBDSetBalanco.Edit;
ANTERIOR := DM.IBDSetBalancoSALDO.Value;
SALDO := ENTRADAS - SAIDAS;
DM.IBDSetBalancoANTERIOR.Value := ANTERIOR;
DM.IBDSetBalancoSALDO.Value := SALDO;
DM.IBDSetBalanco.Post;
DM.IBDSetBalanco.Next;
END;

end;
DM.IBTransac.CommitRetaining;

Application.MessageBox('Término', 'ESICON', 48);
FrmBalanAnalitico.Close;
DM.IBTransac.CommitRetaining;



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a