Ver Mensaje Individual
  #6  
Antiguo 25-01-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
El saldo a la fecha incial lo puedes calcular con un SUM

Código SQL [-]
select SUM(d.debe),SUM(d.haber)
from conta_asientos c
join conta_asientos_deta d
on c.asiento=d.asiento
where
c.fecha < :fecha_desde and
d.cuenta = :cuenta_pedida

Esto te dará los saldos de debe y haber hasta la fecha y el saldo total, que será DEBE-HABER.

Luego de eso, con un bucle puedes ir rellenando el resto.

Código SQL [-]
select c.asiento,c.fecha,d.debe,d.haber
from conta_asientos c
join conta_asientos_deta d
on c.asiento=d.asiento
where
c.fecha >= :fecha_desde and
c.fecha <= :fecha_hasta and
d.cuenta = :cuenta_pedida
order by c.fecha,c.asiento

No conozco MySQL, pero no creo que haya una forma de calcular el saldo acumulado con un select... quizás algún gurú de los SQL pueda ayudarte un poco más.
De todos modos, puedes ir caclculándolo con Delphi a medida que vas recibiendo los datos, con un campo calculado.
Responder Con Cita