Eliminar #Error en Access al ejecutar codigo VBA

Como están una consulta, tengo el siguiente código para calcular los días hábiles entre dos fechas que están descritas en una tabla, si alguna de estas dos fechas tienen el campo vacío entonces me sale #Error.

Option Compare Database

Public Function WorkingDays2(FECHA_DE_VALIDACION_FA As Date, FECHA_IMPRESIÓN As Date) As Integer

'DAO.Recordset

Dim intCount As Integer
Dim rst As DAO.Recordset
Dim DB As DAO.Database

Set DB = CurrentDb
Set rst = DB.OpenRecordset("SELECT [DIAFESTIVO] FROM DIASFESTIVOS", dbOpenSnapshot)

If IsNull(FECHA_DE_VALIDACION_FA) Or IsNull(FECHA_IMPRESIÓN) Then
WorkingDays2 = " "
Else

intCount = 0

Do While FECHA_DE_VALIDACION_FA <= FECHA_IMPRESIÓN

rst.FindFirst "[DIAFESTIVO] = #" & FECHA_DE_VALIDACION_FA & "#"
If Weekday(FECHA_DE_VALIDACION_FA) <> vbSunday And Weekday(FECHA_DE_VALIDACION_FA) <> vbSaturday Then
If rst.NoMatch Then intCount = intCount + 1
End If

FECHA_DE_VALIDACION_FA = FECHA_DE_VALIDACION_FA + 1

Loop

WorkingDays2 = intCount

Exit_WorkingDays2:
Exit Function

End If

End Function

1 respuesta

Respuesta
2

Si la función la declaras para que devuelva un número (Public Function WorkingDays2(... As Integer), no le puedes decir que te devuelva un "texto" (WorkingDays2 = " ")

Yo probaría primero a cambiar esa línea por ésta otra: WorkingDays2 = 0

Y si no te sirve que sea 0, cambia la declaración de la función de Integer a String.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas