Obtener registro anterior según criterio
Publicado por Lizardo (2 intervenciones) el 06/10/2020 02:58:44
Buenas noches:
En la base de datos que tengo los usuarios quedan registrados con horas de ingreso y salida. Y, a modo de informe, se le muestra los datos de la última sesión anterior a la activa.
Pero devuelve datos erróneos.
Por ejemplo, con el Usuario X, inició sesión con ID 74 y la inmediatamente anterior (del mismo usuario) es la 69. Pero, por algún motivo me devuelve 51 (y debo aclarar que entre la 51 y la 74 ha habido al menos 15 sesiones.
¿Cómo puedo obtener de forma más precisa la sesión inmediatamente anterior?
Ya no sé qué puedo hacer.
En la base de datos que tengo los usuarios quedan registrados con horas de ingreso y salida. Y, a modo de informe, se le muestra los datos de la última sesión anterior a la activa.
Pero devuelve datos erróneos.
Por ejemplo, con el Usuario X, inició sesión con ID 74 y la inmediatamente anterior (del mismo usuario) es la 69. Pero, por algún motivo me devuelve 51 (y debo aclarar que entre la 51 y la 74 ha habido al menos 15 sesiones.
¿Cómo puedo obtener de forma más precisa la sesión inmediatamente anterior?
1
2
3
4
5
6
7
8
vSesActual = Me.xtxIngreso.Value 'Sesión actual
vIDSesActual = DLookup("[ID]", "[sqlUsuarioActivo]")
vIDSesAnterior = DLookup("[ID]", "[tabUsuarios_Bitacora]", "[INGRESO] < #" & Nz(vSesActual, 1) & "# AND [USUARIO] = '" & Me.txtUsuario.Value & "'") 'ID sesión actual
vSesAnterior = DLast("[INGRESO]", "[tabUsuarios_Bitacora]", "[ID] = " & Nz(vIDSesAnterior, 1) & " AND [USUARIO] = '" & Me.txtUsuario.Value & "'") 'Sesión anterior (Ingreso)
vSalidaUltimaSesion = DLast("[SALIDA]", "[tabUsuarios_Bitacora]", "[ID] = " & Nz(vIDSesAnterior, 1) & " AND [USUARIO] = '" & Me.txtUsuario.Value & "'") 'Sesión anterior (Salida)
vDurSes = DLookup("[SESION]", "[tabUsuarios_Bitacora]", "[ID] = " & Nz(vIDSesAnterior, 1) & " AND [USUARIO] = '" & Me.txtUsuario.Value & "'") 'Duración de la sesión
Me.xtxUltimaSesion.Value = IIf(vSesAnterior = 0, "No implementado.", vSesAnterior) & IIf(vSalidaUltimaSesion = 0, "", "/" & vSalidaUltimaSesion) 'Última sesión
Me.xtxDuracion.Value = IIf(vDurSes = "", "No implmentado.", vDurSes)
Valora esta pregunta
0