Consulta Días Hábiles y Festivos access

Estimado Experto:
Después de haberme estudiado cada post de este asunto por toda la web, no he conseguido encontrar una solución a mi problema, por eso, he decido solicitarle ayuda.
Actualmente tengo en Access una tabla llamada "Tabla1" con 2 campos Fecha 1 y Fecha 2 y otra tabla llamada "Festivos" con un solo campo lladado Festivo con cada una de las fechas festivas del año. Lo único que necesito mediante una consulta hallar los días que hay entre fecha 1 y fecha 2, pero quitándole Sábados, Domingos y Festivos.
Muchísimas Gracias por su Ayuda

1 respuesta

1
Respuesta de
Hola,
Por consulta no veo como hacerlo, creo que tendría que ser por código.
El código lo he planteado para que actualice un campo Días de la tabla Tabla1.
Lo que hago en el código es recorrer todos los días desde fecha1 a fecha2 y ver si son festivos o no, si no lo son que los cuente.
En la tabla Festivos unicamente metería los días festivos, pero no los sábados y domingos, ya que estos los puedes calcular con la función DiaSemana (WeekDay) que te devuelve el nº del día de la semana, entonces quitarías el =6 y el igual a 7.
Después comprobarías si la fecha está en la tabla Festivos.
La función sería:
Function DiferenciaFechas()
Dim db As Database
Dim rs As Recordset
Dim vFecha As Date
Dim var As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("Select Fecha1, Fecha2, Dias from Tabla1 where Dias=0")
Do While Not rs.EOF
var = 0
vFecha = rs!Fecha1
Do While vFecha < rs!Fecha2
If Weekday(vFecha, 0) <> 6 And Weekday(vFecha, 0) <> 7 Then
If IsNull(DLookup("[Festivo]", "[Festivos]", "[Festivo]=cDate('" & vFecha & "')")) = True Then
var = var + 1
End If
End If
vFecha = vFecha + 1
Loop
rs.Edit
rs!Dias = var
rs.Update
rs.MoveNext
Loop
End Function
Me cuentas, saludos Angeles
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje