Saldo de Caja con SQlite

hola, para soltarme estoy haciendo una app de caja que suele ser mi punto de partida de otras app en mi sistema tradicional de programacin.
Para seguir con las malas costumbres lo quiero hacer igual en xojo.
la app tiene una tabla de conceptos y una de caja, donde se mentiene los apuntes, indice de fecha, clave fornea a concepto, descripcin y campo de ingresos y gastos.

Hasta el momento todo bien. Mi duda es cmo calcular el saldo ya que no es una sumatoria. Pongo un ejemplo de datos_

Fch | Descrip. | Ingreso | Gasto | Saldo

25/4 Entrada x 100 0 100
26/4 Pago x 0 10 90
28/4 Ingreso z 50 0 140

La cuestin es cmo calcular ese saldo. Se podra hacer cuando se crea el registro por programa, pero no es viable. Porque si borras por ejemplo el da 26/4 el saldo no te coincidira. O se perdera mucho recorriendo todo para recalcular.

No se si una vista podra resolverlo y teniendo en cuenta que el saldo se calcula: saldo = (Saldo Registro anterior - (ingreso-gasto)) la cuestin sera como acceder al registro anterior. Disparadores… vistas…

Esa es la duda.

Hola Cecilio,

Si en las otras soluciones ya utilizabas SQL… entonces puedes implementarlo de idéntica. manera en Xojo. Después de todo las conexiones a bases de datos son nativas (SQLite, MySQL, PostgreSQL, Oracle…). Ahora bien, te recomiendo que para las transacciones utilices los PreparedStatments de modo que evitarás los problemas de seguridad típicos.

Incluso en el caso de que ya estés utilizando SQL como parte de tus anteriores soluciones… y siguiendo con la estructura del ejemplo, también conviene tener en cuenta el recálcalo de los saldos posteriores a una entrada modificada (por ejemplo, una devolución marcada previamente como gasto). Imagino que el enfoque en ese caso sería mediante un nuevo apunte de "compensación"… de modo que no sea preciso modificar lo calculado hasta entonces…

Javier

Hola Javier. Mis anteriores soluciones eran en Velneo, nada de SQL, lamentablemente.

en dichas tablas exista un campo que un enlace apuntando al registro anterior o siguiente usando uno de los indices. Un usaba el indice compuesto Fecha, Id.

En Sql no tengo ni idea cmo se podra acceder a un registro previo. Incluso aunque no se modificasen o borrasen apuntes. Como dices, se podran hacer apuntes complementarios. Pero an as no veo como acceder.

Lo planteaba por si a alguien le ha salido algn caso similar. Se que es complejo.

http://stackoverflow.com/questions/35520201/balance-calculation#35520394