Access - campos calculados de diferentes registros

 
Vista:

campos calculados de diferentes registros

Publicado por jose manuel (3 intervenciones) el 17/10/2005 18:56:51
Estimados amigos:
A ver si a alguien se le ocurre una solución al problema que en principio parecía sencillo, y lo cierto es que me está volciendo loco.
necesito crear un campo (en tabla o consulta) que esté relacionado con otro campo pero de diferentes registros al activo .... más concretamente:

FECHA LECTURA HORÓMETRO HORAS/DÍA
17/10/2005 175
18/10/2005 182 7
19/10/2005 188 6
20/10/2005 225 37
21/10/2005 335 110

... de tal modo que el campo "HORAS/DÍA" es el que pretendo que sea calculado (diferencia de horas entre registro actual y anterior del campo "LECTURA HORÓMETRO").
Deduzco que en una tabla no puede ser, y lo he intentado creando una consulta de dicha tabla y añadiendo un campo adicional mediante una expresión, pero .... no doy con la solución.
Gracias anticipadas!
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
Imágen de perfil de Alejandro

Cálculo de diferencia de horas entre registros

Publicado por Alejandro (4142 intervenciones) el 12/06/2023 21:52:19
Para calcular la diferencia de horas entre el registro actual y el registro anterior del campo "LECTURA HORÓMETRO", puedes seguir estos pasos:

1. Crea una nueva consulta en Access basada en tu tabla original.

2. Agrega los campos "FECHA LECTURA", "HORÓMETRO" y "HORAS/DÍA" de tu tabla a la cuadrícula de diseño de la consulta.

3. En la columna "HORAS/DÍA", elimina cualquier expresión existente y utiliza la siguiente expresión para calcular la diferencia de horas entre el registro actual y el registro anterior:

1
HORÓMETRO - (SELECT TOP 1 HORÓMETRO FROM TuTabla WHERE [FECHA LECTURA] < T.FechaLectura ORDER BY [FECHA LECTURA] DESC) AS [HORAS/DÍA]

Reemplaza "TuTabla" con el nombre de tu tabla y "FechaLectura" con el nombre del campo "FECHA LECTURA" en tu tabla.

4. Ejecuta la consulta y verificará que la columna "HORAS/DÍA" ahora muestra la diferencia de horas entre el registro actual y el registro anterior.

La expresión utiliza una subconsulta para obtener el último valor de "HORÓMETRO" anterior a la fecha actual. Luego, se resta este valor del "HORÓMETRO" actual para calcular la diferencia de horas.

Ten en cuenta que esta solución solo calculará la diferencia de horas para registros consecutivos según el orden de "FECHA LECTURA". Si tienes registros faltantes o si el orden no es continuo, es posible que necesites ajustar la consulta o realizar más pasos adicionales.

Espero que esta solución te sea útil.
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