Buenas tardes, tengo una base en access de la cual obtengo dias laborables restando feriados, el problema es que algunos feriados solo pertenecen a ciertas regiones y por lo tanto solo se deberían restar a las personas que pertenezcan a esas regiones (la tabla de feriados tiene un campo de ciudad y la de empleados tambien).
La funcion que utilizo es la siguiente ("Localidades" contiene la ciudad de los empleados y "localidad" pertence a "Feriados"):
Function WorkingDays( _
DateStart As Date, _
DateEnd As Date, _
Localidades As String) As Long
Dim SQL As String
Dim Holidays As Long
Dim WeekendDays As Long
Dim loopDate As Date
If DateStart < DateEnd Then
SQL = "SELECT Count(*) FROM Feriados " _
& " WHERE feriado Between #" _
& Format(DateStart, "mm/dd/yyyy") _
& "# AND #" & Format(DateEnd, "mm/dd/yyyy") _
& "# AND #" & localidad = Localidades & "#" (ESTA LINEA NO CORRE !!!!!!!!!!)
On Error Resume Next
Holidays = CurrentDb.OpenRecordset(SQL).Fields(0)
On Error GoTo 0
For loopDate = DateStart To DateEnd
If Weekday(loopDate) = vbSaturday Or _
Weekday(loopDate) = vbSunday Then
WeekendDays = WeekendDays + 1
End If
Next
WorkingDays = ((DateEnd - DateStart) + 1) - (Holidays + WeekendDays)
End If
End Function
Agradezco de antemano su ayuda