Access - resta enel mismo campo de una tabla

 
Vista:

resta enel mismo campo de una tabla

Publicado por Reynaldo García Hernández (2 intervenciones) el 20/05/2020 02:17:44
Tengo una tabla en la que uno de sus campo es la lectura diaria de un metro contador ¿Cual es la via más práctica para obtener el consumo (registro 2 - registro 1). En una hoja de excel sería muy facil pero no se como hacerlo en access.
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

resta enel mismo campo de una tabla

Publicado por Anonimo (3320 intervenciones) el 20/05/2020 10:08:29
Excel es una hoja de calculo, Access una base de datos y ¿para que sirve una base de datos?.....

Si se le da la utilidad real para la que fue diseñada, se utilizara para almacenar datos (la medida diaria).

El consumo, desgaste o lo que sea …. es un simple calculo básico (diferencia entre ayer y hoy) lo que permitirá saber la evolución o el estado en un determinado (histórico) momento.

La simple lógica indica que:
Si estoy entrando un nuevo dato (el actual) no pertenecerá al conjunto mientras no lo guarde ¿es correcto?....

Si no lo he guardado, el anterior será el ultimo del conjunto actual (se puede utilizar una función de dominio):
.- DLast (solo fiable si se mantiene un orden estricto en la introducción de datos)
.- DMax (este se basaría en que el dato es una evolución ascendente lo que implica ultimo = mayor -o menor si fuera el caso-)
.- Utilizar VBA (aquí la ventaja es que como se le puede imponer un orden volitivo , decidimos cual es el mayor, menor ultimo o primero)

No creo que sea practico el guardar un dato calculado (con la excepción de un histórico de uso muy frecuente), Access no es Excel pero sumar (y con ello restar …. etc.) se le da muy bien, lo lleva en su ADN.

Resumen:
La función de dominio DMAX debería devolver ese dato para que 'cuando se esta creado el registro' se pueda obtener 'el anterior' al cual si lo comparamos con 'el actual y futurible' nos da la diferencia.
Guardado el registro, el nuevo (y supuesto anterior) es 'el mismo' mientras no venga el siguiente

Se podrá apreciar que aparece un concepto interesante.... si guardado el registro 'el mayor de ese conjunto' no es el mismo que el del registro recién introducido … algo no funciona.
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

resta enel mismo campo de una tabla

Publicado por Reynaldo García Hernández (2 intervenciones) el 22/05/2020 02:38:21
Muchas gracias con la explicación. No logro entender totalmente. ¿Cuál sería la mejor opción para lograr el resultado esperado: vincular una hoja de Excel con una consulta de parámetros (para definir el intervalo de tiempo) o se puede plantear una fórmula directamente en una consulta, informe, formulario.
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

resta enel mismo campo de una tabla

Publicado por Anonimo (3320 intervenciones) el 22/05/2020 11:24:27
Una formula generica para obtener el anterior y asi calcular la diferencia:

Suponiendo que el ID exista sea ascendente:
1
Consumo = Actual - (Dmax("Actual", "Aquí-la-tabla", "ID < " & [ID]))

Suponiendo que se puede acceder a la fecha:
1
Consumo = Actual - (Dmax("Actual", "Aquí-la-tabla", "Fecha < " & [FECHA]))

Si se calculase (y guardase) en el momento de la toma de datos, solo se necesitaría conocer el mayor/menor del conjunto.

La opción Excel es volitiva, pero para obtener lo mejor de cada uno (Access - Excel) hay que ser experto en ambos y conocerlos a fondo (de otra forma no se podría 'obtener lo mejor' y ….. puede convertirse en la peor de las opciones).
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