Fórum Soma em SQL #193124

05/11/2003

0

Desde já agradeço por sua atenção.

Observe a sequencia abaixo:

Data Crédito Débito Saldo
01/11/2003 100,00 0,00 100,00
05/11/2003 100,00 0,00 200,00
10/11/2003 0,00 50,00 150,00

Quando faço um lançamento, verifico se o tipo de lançamento é a Crédito ou a Débito, Gravo o valor no campo correspondente e atualizo o saldo.
Meu problema é:

Quando entro com um lançamento com data retroativa, ou seja; 03/11/2003 tenho que recalcular todos os registros posteriores para acertar o saldo. Como consigo fazer isso através de SQL.
Utilizo Interbase com os Componentes IBDataSet, IBTransaction, IBDataBase.

m_gab. :?:


M_gab

M_gab

Responder

Posts

06/11/2003

Luizfernando777

tenta fazer isso
CRIE NA QUERY UM CAMPO SALDO TIPO CURRENCY CALCULATED

var
Form2: TForm2;
Saldo : Currency = 0;

implementation

{$R *.dfm}

procedure TForm2.Query1CalcFields(DataSet: TDataSet);
begin
Query1Saldo.Value := (( Query1Credito.Value - Query1Debito.Value )+Saldo);
Saldo := Query1Saldo.Value;

end;

procedure TForm2.Query1BeforeOpen(DataSet: TDataSet);
begin
Saldo := 0;
end;

VC SEMPRE TERÁ QUE FECHAR E ABRIR (CLOSE OPEN NA QUERY),
PARA ATURALIZAR O SALDO


Responder

Gostei + 0

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

Aceitar