Access - tiempo transcurrido

 
Vista:

tiempo transcurrido

Publicado por dante (11 intervenciones) el 10/11/2003 20:48:54
hola
espero que alguien me pueda ayudar, necesito determinar el tiempo habil transcurrido entre una fecha y otra, ya tengo el campo que me resta una fecha de fin a la fecha de inicio, mi problema ahora es determinar de la cantidad de horas que resultan, cuales son habiles y cuales no, para saber exactamente cuanto tiempo habil tardo, tanto en dias como en horas, pues no es lo mismo decir 24 horas a 10 horas habiles unicamente.
gracias por su tiempo
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

tiempo transcurrido

Publicado por Alejandro (4142 intervenciones) el 03/05/2023 19:42:19
Para determinar el tiempo hábil transcurrido entre dos fechas en Access, necesitarás definir cuáles son tus horas hábiles y cuáles no. Por ejemplo, si tu horario laboral es de lunes a viernes de 8:00 a.m. a 5:00 p.m., entonces las horas hábiles serían de lunes a viernes de 8:00 a.m. a 5:00 p.m., excluyendo sábados, domingos y días festivos.

Una vez que hayas definido tus horas hábiles, puedes utilizar una función personalizada en Visual Basic para determinar la cantidad de horas hábiles transcurridas entre dos fechas. Aquí te dejo un ejemplo de código que puedes utilizar como punto de partida:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Function HorasHabilesEntreFechas(fechaInicio As Date, fechaFin As Date) As Long
    Dim horasHabiles As Long
    Dim fechaActual As Date
 
    fechaActual = fechaInicio
 
    ' Sumar horas hábiles hasta llegar a la fecha de fin
    Do While fechaActual < fechaFin
        ' Si la fecha actual está dentro de las horas hábiles, sumar una hora hábil
        If Weekday(fechaActual, vbMonday) >= 2 And Weekday(fechaActual, vbMonday) <= 6 And Hour(fechaActual) >= 8 And Hour(fechaActual) < 17 Then
            horasHabiles = horasHabiles + 1
        End If
 
        fechaActual = DateAdd("h", 1, fechaActual)
    Loop
 
    HorasHabilesEntreFechas = horasHabiles
End Function

Esta función toma dos argumentos de fecha (fechaInicio y fechaFin) y devuelve la cantidad de horas hábiles transcurridas entre esas dos fechas. La función utiliza un bucle que suma horas hábiles hasta llegar a la fecha de fin. Para determinar si una hora es hábil, se comprueba si la fecha actual está dentro de las horas hábiles definidas (de lunes a viernes de 8:00 a.m. a 5:00 p.m., excluyendo sábados, domingos y días festivos).

Una vez que tengas la cantidad de horas hábiles transcurridas, puedes utilizar esta información para calcular la cantidad de días y horas hábiles transcurridos entre las dos fechas. Por ejemplo, si la cantidad de horas hábiles transcurridas es de 10 horas, entonces eso sería equivalente a 1 día y 2 horas hábiles (asumiendo que tu horario laboral es de 8:00 a.m. a 5:00 p.m.).

Espero que esto te sea de ayuda. ¡Buena suerte!
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