Imprimir página | Cerrar ventana

Operacion con registros anteriores y actuales

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84758
Fecha de impresión: 27/Marzo/2026 a las 00:23


Tema: Operacion con registros anteriores y actuales
Publicado por: danigarva
Asunto: Operacion con registros anteriores y actuales
Fecha de publicación: 15/Octubre/2019 a las 11:01
Hola, buenos días. Estoy atascado con una consulta de Access.

Tengo una tabla que me da el numero de sesión junto con la Carga de entrenamiento y quiero hacer esta operación que he conseguido con Excel para calcular un nuevo campo calculado que seria el EWMA crónico con la siguiente operación: 



Se puede conseguir esto mediante una consulta? o mediante otra forma?

Mucha gracias!



Respuestas:
Publicado por: guarracuco
Fecha de publicación: 15/Octubre/2019 a las 12:22
Hola, puedes hacerlo en una consulta, en la tabla (campo calculado), en un procedimiento de formulario.


Publicado por: danigarva
Fecha de publicación: 15/Octubre/2019 a las 13:48
Si me podéis poner algún ejemplo de que expresión poner en el campo calculado, lo agradecería


Publicado por: danigarva
Fecha de publicación: 15/Octubre/2019 a las 13:49
Publicado originalmente por guarracuco guarracuco escribió:

Hola, puedes hacerlo en una consulta, en la tabla (campo calculado), en un procedimiento de formulario.

Como sería la expresión? no consigo dar con ella.


Publicado por: danigarva
Fecha de publicación: 15/Octubre/2019 a las 14:40
La fórmula para el primer registro lo tengo pero como creo una consulta con un campo calculado que me coja el dato del anterior registro? Esta sería la fórmula de excel: =B3*(2/(28+1))+((1-(2/(28+1)))*C2)

http://i.ibb.co/xSBbWbj/calculado1.png" rel="nofollow - http://i.ibb.co/xSBbWbj/calculado1.png




Publicado por: Mihura
Fecha de publicación: 15/Octubre/2019 a las 15:43
Entiendo que lo quieres en Access ...

Como te dice Guarracuco tienes que usar una consulta ... y agrego yo con una función personal.

Miráte este http://www.accessaplicaciones.com/ejemplos.html#sqf02" rel="nofollow - ejemplo en mi página (y los adyacentes). Ojo, necesitas un buen nivel para 'meterle' mano al asunto Big smile.


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: emiliove
Fecha de publicación: 15/Octubre/2019 a las 15:50
O sin función, en Access cuentas con las funciones de dominio, Dlookup y DUltimo con ellas puedes acceder al ultimo registro.

Saludos.


Publicado por: Mihura
Fecha de publicación: 15/Octubre/2019 a las 17:15
Correcto Emilio, pero el tiempo de ejecución puede ser una barbaridad de una forma u otra.

Mira la diferencia de tiempo en este ejemplo de numerar una consulta.

                      http://www.accessaplicaciones.com/ejemplos.html#sqf02" rel="nofollow - Ejemplo numerar consulta




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: danigarva
Fecha de publicación: 15/Octubre/2019 a las 17:26
Publicado originalmente por Mihura Mihura escribió:

Correcto Emilio, pero el tiempo de ejecución puede ser una barbaridad de una forma u otra.

Mira la diferencia de tiempo en este ejemplo de numerar una consulta.

                      http://www.accessaplicaciones.com/ejemplos.html#sqf02" rel="nofollow - Ejemplo numerar consulta



Hola Mihura, nunca he usado funciones personales de Access y tampoco he tocado mucho de Modulos :( por lo que mi nivel no es muy elevado, he conseguido sacar la diferencia entre Carga y EWMA 

IdCargaEWMADif
1500500500
253054030
3515530-25
4300350-230
53503600

pero esto no es lo que quiero hacer, aunque me parece muy útil para otras consultas que tengo.

No consigo realizar el calculo que quiero. Podrías decirme como calcular esto:
Tengo esta consulta:

Consulta2
Id Carga EWMA
1 500
2 530
3 515

EWMA=(Carga del registro actual*(2/(28+1))+((1-(2/(28+1)))*EWMA del registro anterior)

Tendría que quedar algo asi:

Consulta
IdCargaEWMA
1500500
2530502,069
3515502,961

Muchas gracias por tu tiempo!!!


Publicado por: Mihura
Fecha de publicación: 15/Octubre/2019 a las 18:38
A ver danigarva, de lo que se trata es de aprender, lo suyo es que basándote la función que calcula la diferencia con el anterior te crees la tuya, ¿como? .. calculando el valor que quieres conservar y asignándolo a la función, así en el siguiente registro podrás hacer uso del mismo.

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es



Imprimir página | Cerrar ventana