Access - Resta entre registros de un mismo campo

   
Vista:

Resta entre registros de un mismo campo

Publicado por jorge (103 intervenciones) el 11/05/2014 13:12:00
Hola tengo una tabla que tiene fecha (este campos es fecha) y otra donde el campo se llama Km ( este campo es numerico) .

en el dia 02/02/1902 le cargo 198 km ( es el km de movida)
en el dia 0502/1902 le cargo 842 km
en el dia 09091902 le cargo 1199km

necesito que me de arroje la diferencia que hay entre 842-198 = 644km

la diferencia que hay entre 1199-842 = 357km
la consulta que necesito es que me arroje en un campo estas cantidades 644 y 357
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 Enrique Ramírez

Resta entre registros de un mismo campo

Publicado por Enrique Ramírez (617 intervenciones) el 12/05/2014 21:15:24
Entra a mi sitio:

https://sites.google.com/site/jerrmex/descargas

y busca la opción:

opción 88_RestarValoresConsecutivos

según yo eso es lo que quieres hacer y si no te va a servir como ejemplo para obtenerlo.
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 entre registros de un mismo campo

Publicado por Jesús Manuel (134 intervenciones) el 13/05/2014 14:46:20
Pongamos que tienes una tabla T2 con los campos ID y KM

Si el ID es correlativo (1,2,3,4,...) y sin faltar ningún número, podrías calcular la diferencia con la siguiente formula en un campo calculado en una consulta:

Diferencia: Abs([KM]-((DSuma("KM";"T2";"id<=" & [id]-1))-Nz(DSuma("KM";"T2";"id<=" & [id]-2);0)))

Para poder llegar a este supuesto perfecto sigue los pasos 1 a 4 del "Sistema 1" que puedes ver en este ejemplo que me paso hace unas semanas Neckkito para un problema que tuve con una base: http://www.lawebdelprogramador.com/foros/Access/1433264-Se_pueden_limitar_registros_en_una_consulta_en_funcion_de_una_variable.html (el enlace esta en el comentario de Neckkito del día 16/04/2014)

Como orientación tendrías que hacer lo siguinte:

1) Copiar el módulo mdlNumeracionConsulta a tu base de datos
2) Crear una consulta con los datos que necesites y ordenarla por tu campo fecha. Convertir esta consulta en una consulta de creación de tabla para obtener T1
3) Creas la consulta de union para incorpora un campo con el orden correlativo gracias al modulo anterior (ten cuidado con los campos en CNumeroReg, porque si partes de un campo fecha en el orden de la consulta que crea T1 tendrías que tener algo así SELECT numeraConsulta(T1.NombreCampoFecha) as ID, * en el código SQL de CNumeroReg)
4) A partir de CNumeroReg y con CNumeroRegTabla creas T2, que tendra el campo ID con el orden correlativo que estabamos buscando y los demas campos que necesitas en tu consulta
5) Ahora ya puedes crear una consulta a partir de T2 y usar el campo calculado para tener la diferencia
6) Para finalizar, fíjate en el código del botón para que haga los pasos anteriores de una tirada y en el código al cerrrar el form para eliminar las tablas T1 y T2
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