Access - Movimiento Bancario

 
Vista:

Movimiento Bancario

Publicado por Javivi (9 intervenciones) el 15/02/2015 04:11:13
Hola. Soy muy novato.

Lo que intento hacer es que en un formulario en el que añado los movimientos me apareciera el saldo final del movimiento anterior y una vez introduzco los datos me sume o reste la cantidad y me presente el nuevo saldo.
Con los campos calculados puedo llegar al nuevo saldo pero no sé cómo tengo que hacer para obtener el saldo del registro anterior.

Una ayuda por favor.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Movimiento Bancario

Publicado por Martha (175 intervenciones) el 15/02/2015 20:04:42
Entiendo que puedes poner una etiqueta cuyo contenido sea el resultado de una consulta, por ejemplo, el total de esa cuenta en concreto.
Hasta que no introduzcas el registro actual, el saldo será el de la cuenta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Movimiento Bancario

Publicado por Javivi (2 intervenciones) el 15/02/2015 20:36:43
Mi idea era crear un botón "Añadir" con un evento que al hacer click, primero vaya al último registro creado

DoCmd.GoToRecord , , acLast

y asignar a una variable ("saldoanterior") el valor del campo SALDO. Después voy al nuevo registro

DoCmd.GoToRecord , , acNewRec

y en el formulario presento en una etiqueta el valor de esa variable, y a la vez me pide los campos para el nuevo registro, FECHA, CONCEPTO, INGRESO y GASTO. Con un campo calculado obtengo el nuevo saldo (SALDO) que añado en el nuevo registro.

Así es como lo hacía programando en CLIPPER, aquí no sé si es el procedimiento correcto, seguramente se podrá hacer mejor y con el tiempo y mucha práctica iré aprendiendo.

Aquí el problema que me encuentro es que no soy capaz de asignar el valor a la variable y que la reconozca en el nuevo registro.

Gracias por vuestra atención.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 99
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Movimiento Bancario

Publicado por rambling (225 intervenciones) el 16/02/2015 11:42:37
en el form crea un campo independiente en blanco y le llamas valor por ejemplo, a continuación en la propiedad despues de actualizar del campo saldo actual le creas el siguiente evento:
supongo que tienes los siguientes campos: saldo_anterior; saldo_actual
valorSaldo as long
docmd.save
valorSaldo =[saldo_actual].value
valor.value=valorSaldo
docmd.gotoRecord,,acNext
Docmd.gotoControl "Saldo_actual"
[Saldo_actual]=ValorSaldo

Con esto una vez que actualices el campo saldo_actual, este automaticamente te ira al siguiente registro y te anotará el valor que tiene el registro anterior como saldo_actual en el campo de saldo_anterior del nuevo registro.
Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Movimiento Bancario

Publicado por Javivi (9 intervenciones) el 17/02/2015 02:40:33
Lo siento rambling, parece que no me he explicado bien (y gracias por responderme).

Dispongo de los campos FECHA, CONCEPTO, INGRESO, GASTO y SALDO.

En el formulario tengo que entrar los datos en los campos FECHA, CONCEPTO, INGRESO Y GASTO. Además, mi intención es poner un campo independiente para presentar ahí el saldo anterior.

Para ello he creado un botón "Añadir" con un evento en el que tengo que irme al último registro introducido y obtener el valor del campo SALDO para llevarlo al campo independiente. Supongo que tendré que asignar el valor de ese campo SALDO (del registro último) a una variable y llevarla al campo independiente (del nuevo registro). A continuación entrar los datos del nuevo registro en fecha, concepto y ingreso o gasto.

Una vez que se han introducido los nuevos datos, tengo que obtener por medio de un campo calculado el valor para el campo SALDO en este nuevo registro ("variable_con_el_valor_del_ultimo_registro + ingreso - gasto).


El problema que sigo teniendo es que no soy capaz de obtener ese valor del registro anterior y pasarlo al nuevo registro y poder hacer la operación con el campo calculado.


La vista del formulario sería esta:

SALDO ANTERIOR: 1000,00 -----> Valor asignado después de leer el último registro, presentado sin tabulación

FECHA 17/02/15 -----> Introducido ahora por el usuario

INGRESO

GASTO 600,00 ----->Introducido ahora por el usuario

Nuevo Saldo 400,00 ------> Campo calculado que se asignará al campo SALDO


[Añadir] ----> Botón con evento al hacer click.

Cuando programaba con CLIPPER lo hacía muy fácil pero aquí no encuentro la manera (ya sé que me falta mucho por aprender ;-) )

Gracias por atenderme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 99
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Movimiento Bancario

Publicado por rambling (225 intervenciones) el 17/02/2015 13:14:13
Hola de nuevo, en mi humilde opinion deberías crear el campo saldo_anterior en tu tabla de movimientos e insertarlo en tu formulario y si prefieres no verlo vete a la propiedad visible y acivalo a NO.
así podrás crear el campo calculado saldo=[saldo_anterior]+[ingreso]-[gasto], el cual lo puedes actualizar por ejemplo en un evento despues de actualizar el campo que decidas.
Una vez hecho esto en el boton añadir le insertas el codigo:

Docmd.GotoRecord, , acLast 'nos posicionamos en el ultimo registro'
DIM valorSaldo as long ' declaramos la variable'
docmd.save 'guardamos el registro'
valorSaldo =[saldo].value 'le asignamos valor del campo saldo a la variable'
valor.value=valorSaldo 'le asignamos el valor de la variable al campo independiente en blanco del form'
docmd.gotoRecord,,acNext 'nos vamos a un nuevo registro'
[Saldo_anterior]=ValorSaldo 'asignamos el valor al campo saldo_anterior del nuevo reg que será el valor del saldo anterior del registro anterior?

Espero que te sirva.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Movimiento Bancario

Publicado por Javivi (2 intervenciones) el 18/02/2015 02:04:41
No es necesario crear otro campo. Si te das cuenta me estás dando la misma idea que yo quiero hacer pero la diferencia es añadir el campo. El proceso es el mismo y la variable toma el valor del último registro del campo Saldo. Luego salta al nuevo registro y..... etc... no vamos a repetir lo mismo...

Pero lo mejor de todo es que me has ayudado a conseguirlo. Mi error parece ser que estaba en la declaración de la variable y en el campo independiente.

Ahora me surge otra cuestión. Como es lógico en cada movimiento solo se rellenará el campo del ingreso o el del gasto (solo uno de ellos) ¿cómo puedo hacer para que el campo que no se rellena tome el valor de cero sin tener que teclearlo? O mejor aún ¿se puede hacer la operación con uno de los campos en blanco sin tener que ponerle valor cero?

Muchas gracias por tu ayuda.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 99
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Movimiento Bancario

Publicado por rambling (225 intervenciones) el 18/02/2015 08:43:53
dales a ambos campos como valor predeterminado CERO.
así cada vez que agregues un registro a menos que lo cambies tendrás siempre el valor de cero, en caso contrarío habria que hacerlo con codigo pero esta opción es la menos complicada.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Movimiento Bancario

Publicado por Javivi (9 intervenciones) el 18/02/2015 14:30:29
Ok. Una solución muy fácil que no se me había ocurrido. De momento me quedo con eso, cuando aprenda más ya lo cambiaré.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Movimiento Bancario

Publicado por Emilio (232 intervenciones) el 18/02/2015 15:31:41
Hola Javivi
Disculpa la intromisión, yo tengo unos ejemplos de algo así:
https://onedrive.live.com/?cid=15733bea2103e55f#cid=15733BEA2103E55F&id=15733BEA2103E55F%21116
Busca: Saldo y DebeHaberSaldo aunque la mejor es lo que tengo de Rokoko que se llama Saber Stock a x fecha. . . .

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Movimiento Bancario

Publicado por Javivi (9 intervenciones) el 19/02/2015 01:55:00
Ok. Gracias de nuevo por tu atención.

Miraré lo que me comentas pero he encontrado una solución muy fácil usando "Nz" al asignar los valores de los campos a las variables.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Movimiento Bancario

Publicado por Josè Sànz (3 intervenciones) el 21/08/2016 00:27:06
Saludos,

Alguien tiene un ejemplo: (la base datos y el informe) que me haga favor de enviarme es lo que necesito, ejemplo de lo que tengo (saldo incial + ingresos - egresos = nvo saldo del periodo, pero como paso el nvo saldo del periodo como saldo anterior del siguiente periodo se lo voy agredecer.



Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar