Vichomo
02-08-2007, 08:06:11
Hola amigos del club, tengo un problema, les voy a explicar
manejor interbase, delphi 6.
tengo una pantalla que se llama estado de cuenta de clientes, en ella tengo dbgrid que esta conectado a su dataset y su datasource como siempre,
tengo varios campos, los que importan son CARGO, ABONO, SALDO, el cual cargo y abono lo traigo de la base de datos, y saldo es un campo calculado que me suma y me resta, ya sea abono suma al saldo del cliente y si es cargo se lo resta, el problema esta que yo tengo unos datetimepicker, en donde escogo dos fechas, hago mi query para buscar solo los datos entre una fecha y otra, pero el problema es que si hago una busqueda intermedia (Osea que no es el primer registro ni el ultimo) ahi el campo calculado hace sus operaciones desde que empieza y yo quiero que las haga desde el primer calculo, ya que si no estaria mal la suma.
Ejemplo
La fecha la omito pongo la clave
clave cargo abono saldo
1 -2000 0 -2000
2 0 3000 1000
3 -1500 0 -500
4 0 1000 500
ahi el campo calulado es saldo y hace bien sus cuentas.
ejemplo de si hago una consulta entre fechas (solo omitire una fecha)
yo kisiera que me saliera asi:
clave cargo abono saldo
2 0 3000 1000
3 -1500 0 -500
4 0 1000 500
pero me sale asi
clave cargo abono saldo
2 0 3000 3000
3 -1500 0 1500
4 0 1000 2500
y es logico porque el campo calculado empieza a hacer sus sumas desde el primer registro que tiene el DBgrid, pero entonces ahi es donde quiero tomar
el saldo que tenia el registro pasado (que era -2000) para entonces empezar a sumarle osea (-2000 + 3000 del abono de la clave 2, -1500 de la clave 3 + 1000 del abono 4 y me de el resultado real, osea 2500)
la pregunta es, como hacerlo? como tomar ese valor ya que es calculado y no esta en ninguna tabla.
Espero haber explicado bien y dado a entender, espero me den una solucion.
Gracias por su tiempo de antemano... ;)
manejor interbase, delphi 6.
tengo una pantalla que se llama estado de cuenta de clientes, en ella tengo dbgrid que esta conectado a su dataset y su datasource como siempre,
tengo varios campos, los que importan son CARGO, ABONO, SALDO, el cual cargo y abono lo traigo de la base de datos, y saldo es un campo calculado que me suma y me resta, ya sea abono suma al saldo del cliente y si es cargo se lo resta, el problema esta que yo tengo unos datetimepicker, en donde escogo dos fechas, hago mi query para buscar solo los datos entre una fecha y otra, pero el problema es que si hago una busqueda intermedia (Osea que no es el primer registro ni el ultimo) ahi el campo calculado hace sus operaciones desde que empieza y yo quiero que las haga desde el primer calculo, ya que si no estaria mal la suma.
Ejemplo
La fecha la omito pongo la clave
clave cargo abono saldo
1 -2000 0 -2000
2 0 3000 1000
3 -1500 0 -500
4 0 1000 500
ahi el campo calulado es saldo y hace bien sus cuentas.
ejemplo de si hago una consulta entre fechas (solo omitire una fecha)
yo kisiera que me saliera asi:
clave cargo abono saldo
2 0 3000 1000
3 -1500 0 -500
4 0 1000 500
pero me sale asi
clave cargo abono saldo
2 0 3000 3000
3 -1500 0 1500
4 0 1000 2500
y es logico porque el campo calculado empieza a hacer sus sumas desde el primer registro que tiene el DBgrid, pero entonces ahi es donde quiero tomar
el saldo que tenia el registro pasado (que era -2000) para entonces empezar a sumarle osea (-2000 + 3000 del abono de la clave 2, -1500 de la clave 3 + 1000 del abono 4 y me de el resultado real, osea 2500)
la pregunta es, como hacerlo? como tomar ese valor ya que es calculado y no esta en ninguna tabla.
Espero haber explicado bien y dado a entender, espero me den una solucion.
Gracias por su tiempo de antemano... ;)