Restar registro anterior al actual mediante VBA

Necesito saber cómo tengo que hacer por VBA para restar un registro actual al inmediatamente anterior.

1 Respuesta

Respuesta
2

Diego: Justo debajo de tu pregunta, la cuarta sin contar la tuya, hay una respuesta de Jesús Mansilla, refiriéndose a lo que tu preguntas.

http://www.accessaplicaciones.com/ejemplos.html#sqf02 

Mis saludos >> Jacinto

Muchas gracias, Jacinto. Esta tarde me pongo a ello, y te digo. Saludos.

He estado viendo lo que me has pasado. Lo hace sobre una consulta, y no puedo hacerlo así porque tomo los datos directamente de la tabla de origen, y cuando calculo el campo, lo meto directamente en la tabla que digo.

Tengo un campo Valor de Existencias, donde voy anotando al final de cada mes dicho valor, y quiero que me calcule la Diferencia de Existencias, y lo asigne al campo Base Imponible.

He probado esto:

VUltimo As Variant

VUltimo = Nz(DCount("[Valor de Existencias]",[01-E Compras]),0)

[Diferencia de existencias] = VUltimo - [Valor de Existencias]

Diego: El ejemplo del que te he enviado el enlace, ciertamente usa una Consulta y la Función, para restar consecutivos, pero si no se te adapta habría que ir por otro camino como puede ser el de un Recordset. Si puedes poner una imagen con algunos registros de tu tabla y alguna señal de >>

Restar la Cantidad xxxx de la Yyyyy, la información que te pueda dar será mas fiable.

En cualquier caso mira si quieres ésta respuesta que dí en éste foro hace tiempo.

Restar registro anterior en consulta Access

Si con todo ésto no resuelves el problema me comentas, y si quieres mandarme tu BD con varios Registros inventados, miro de ayudarte. Un saludo >> Jacinto

Quiero intentarlo yo, a ver si soy capaz, porque no quiero abusar de la confianza de la gente. Yo suelo ir testando a partir de código que me hayan escrito, y así he hecho muchas cosas, pero otras, aunque tenga un código similar, no soy capaz de adaptarlo.

No sé si esta imagen te valdrá. Como puedes ver, en el valor de existencia introduzco los valores, y me tiene que restar con el anterior, es decir, 500-100, para dar 400; 100-300, para dar -200.

¡

Muchas gracias!

Diego: El que uno vaya practicando, aun cometiendo algunos errores creo que es la mejor forma de aprender. Estoy covencido de que lo vas a resolver, pero si no fuera así, por aquí andamos. Un saludo >> Jacinto

Ya, es lo que intento siempre. Espero a que me digas qué si te vale la imagen.

Diego: Si que es válida, aunque doy por supuesto que llevará una Fecha o algún campo para ordenar. Es una Resta de Consecutivos

En éste caso como en otros la solución no es única. Mira hasta donde llegas. Saludos >> Jacinto

He copiado el código que usas en la pregunta que me has pasado en un módulo. He cambiado los campos por los míos, pero no sé si debo cambiar algo más, y cómo llamarlo desde el formulario. ¿Te puedo pasar la base de datos?

Diego: ya te comentaba arriba que podías hacerlo. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas