Sumar a partir de una fecha un año atrás

Estoy realizando una base de base de datos, en la cual tengo que calcular un consumo desde una determinada fecha hasta un año atrás. Os pongo un ejemplo para que se entienda bien.

Tengo un contador que ha tenido una lectura el 15/6/2018 la cual indica un consumo especifico, necesito que, mediante una consulta, me sume todos los consumos desde el 15/6/2018 hasta 15/6/2017. Si en el siguiente dato tengo una lectura del 15/7/2018, tenga otra suma hasta el 15/7/2018. Os pongo una tabla para que se entienda mejor.

Gracias de ante mano

2 Respuestas

Respuesta
1

Pero lo que busco es otra cosa. Entiendo que lo que has realizado es una consulta que suma los consumos por año, y lo que yo busco es que lo haga un año atrás de la fecha, es decir, si la fecha es el 15/6/18, me sume los consumos desde el 15/6/17 hasta el 15/6/18, y así con todas las fechas que existan en el campo fecha.

Respuesta
2

Puedes hacerlo de muchas formas, todo depende de como quieras "verlo", si en consulta, formulario, mensaje, etc. Por ejemplo, supongamos que tengo la tabla(para no trabajar mucho he omitido los campos Lectura)

Creo una consulta

El resultado

Pero como te decía, hay muchas formas. Si puedes concretar algo más de como querrías verlo.

Te decía, que depende de como quieras verlo y desde donde, es decir, el día desde donde quieres verlos es un día que eliges tú o es el de la fecha del sistema. Por ejemplo, tengo la tabla

Y tengo un formulario con un botón

Si lo pulso

Por eso te digo como y desde donde.

Quiero que sea automático. Es una consulta para que me dé ese resultado y luego poder hacer un informe. La fecha es la que tiene la tabla y de ahí para atrás un año. 

En la tabla que tu has creado de ejemplo, si estoy en el id 6, me tomaría la fecha 11/10/2018 y  me sumaría todos los consumos correspondientes a las menores o igual a esa fecha en un año (o 365 días) atrás. Si estoy en id 5, me tomaría la fecha 3/3/2018 y me sumaría todos los consumos correspondientes a las menores o igual a esa fecha en un año (o 365 días) atrás. 

Todo esto es para un cálculo de rendimiento de red con periodos de 1 año desde la fecha de cada lectura.

Tal como lo planteas, lo que haría sería añadir a la tabla un campo, vamos a llamarlo Consumo anual, donde te vaya recogiendo la suma de los consumos desde el día X hasta 365 días antes. Si tengo el formulario, basado en esa tabla

Es decir, una vez que pones la fecha y el consumo, al pulsar Enter, en Consumo-365 te va poniendo ese consumo con lo cual, en cualquier momento sabes lo el acumulado de ese día y los 365 anteriores. El código del evento Después de actualizar del cuadro de texto Consumo es

¡Gracias! 

Pruebo a ver.

Hay algo que no me funciona, he creado la tabla tal y como me indicas,  con el código después de actualizar, 

Private Sub Consumo_AfterUpdate()
DoCmd.RunCommand acCmdSaveRecord
ConsumoAnual = DSum("consumo", "tabla1", "fecha between #" & Me.Fecha & "# and (#" & Me.Fecha & "#-365)")
End Sub

Si te fijas, en el primero que hace el recuento porque tiene un año por detras, fecha 1/1/18, pone 130, cuando debería ser como el resto 120, por qué?

Y otra cosa, es posible que cuando no hay un año completo, el consumo anual sea 0, no 10 como en este caso?.

Como no sé que referencias tienes activadas, lo mejor es que el código lo pongas como

Con lo que te quedará

Gracias por tu ayuda, seguiré dando vueltas a ver si consigo que no contabilice cuando hay menos de un año por detrás.

¿Tienen qué estar en blanco los 12 primeros meses? En caso afirmativo

Le he puesto los consumos distintos para que veas que cambia los valores

El código es simple

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas