Access - funcion

 
Vista:

funcion

Publicado por vallo (16 intervenciones) el 04/01/2001 00:00:00
Alguien me puede dar una función que cuente los dias desde fecha1 a fecha2, pero que no incluya los fines de semana, o sea, sabado nio domingo.
Que el resultado lo de en una variable
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

RE:funcion

Publicado por tecniCam (117 intervenciones) el 05/01/2001 00:00:00
Función hecha exprofeso para VALLO.
Entran dos fechas y devuelve los días laborables entre ellas (cuenta el primer día, pero no el último).
La puedes modificar y te dará: los días naturales, las semanas y los días de pico, los sábados, los domingos y la suma de los no laborables.

Function laborables(desde As Date, hasta As Date) As Integer
Dim totalDias, domingos, sabados, semanas
Dim numDia, dias, labor, noLaborables
totalDias = DateDiff("d", desde, hasta)
semanas = Int(totalDias / 7)
numDia = WeekDay(desde)
dias = totalDias Mod 7
sabados = 0
domingos = 0
If totalDias >= 7 Then
sabados = semanas
domingos = semanas
End If
If dias = 6 Then
If numDia = 2 Then
sabados = sabados + 1
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
Else
sabados = sabados + 1
domingos = domingos + 1
End If
End If
If dias = 5 Then
If numDia = 2 Then
sabados = sabados
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
ElseIf numDia = 3 Then
sabados = sabados + 1
domingos = domingos
Else
sabados = sabados + 1
domingos = domingos + 1
End If
End If
If dias = 4 Then
If numDia = 2 Or numDia = 3 Then
sabados = sabados
domingos = domingos
Else
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

RE:funcion II

Publicado por tecniCam (117 intervenciones) el 05/01/2001 00:00:00
If dias = 4 Then
If numDia = 2 Or numDia = 3 Then
sabados = sabados
domingos = domingos
ElseIf numDia = 4 Then
sabados = sabados + 1
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
Else
sabados = sabados + 1
domingos = domingos + 1
End If
End If
If dias = 3 Then
If numDia = 6 Or numDia = 7 Then
sabados = sabados + 1
domingos = domingos + 1
ElseIf numDia = 5 Then
sabados = sabados + 1
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
Else
sabados = sabados
domingos = domingos
End If
End If
If dias = 2 Then
If numDia = 7 Then
sabados = sabados + 1
domingos = domingos + 1
ElseIf numDia = 6 Then
sabados = sabados + 1
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
Else
sabados = sabados
domingos = domingos
End If
End If
If dias = 1 Then
If numDia = 7 Then
sabados = sabados + 1
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
Else
sabados = sabados
domingos = domingos
End If
End If
noLaborables = sabados + domingos
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

RE:funcion y III

Publicado por tecniCam (117 intervenciones) el 05/01/2001 00:00:00
noLaborables = sabados + domingos
laborables = totalDias - noLaborables
End Function

¿Un poquito larga, no? Pero verás cómo te da bien el resultado.
Ojo, no tiene en cuenta los días festivos, que habría que añadir, contando con los de cada estado o comunidad. Sólo descuenta los sábados y los domingos.

Si necesitas más, escribe a mi "emilio" o visita "visualia" pulsando abajo.
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

RE:funcion y III

Publicado por vallo (16 intervenciones) el 08/01/2001 00:00:00
Gracias por tu ayuda, te lo agradezco... :))
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

RE:funcion y III

Publicado por ROSER (7 intervenciones) el 02/09/2007 22:28:13
Hola,
Estoy "intentando" crear una base para el control de dias de los trabajadores. Para contar los dias de vacaciones, he estado mirando, y he visto esta funcion. Pero no me funciona. Tengo un campo de inici_vacances y otro de fi_vacances. Y me gustaria tener otro que me contara los dias naturales entre ambas fechas. Pero nada. Es que soy muy torpe.
Muchas gracias
Roser
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