¿Cómo recorrer una tabla access en visual basic?

Hola, antes que nada decir que llevo muy poco iniciado en Visual Basic,estoy haciendo un programa para el mantenimiento de unas máquinas de laboratorio. Cada una de estas máquinas tiene unas tareas con una frecuencia de realización (cada 5 días, cada 6 días...). Y debo realizar estas tareas con una frecuencia, pero sin contar los fines de semana y los días festivos. De momento solo esta el código para que no cuente los fines de semana.
Tengo una tabla en la que aparecen las diferentes tareas de cada máquina con sus correspondientes frecuencias de realización. Uso dlookup para que en mi formulario se muestre la frecuencia de dicha tarea, para ello uso el campo [Id] de mi tabla.
Si en Id pongo un valor numérico (ejemplo: Id=3 es la tarea numero 3 ---> y tiene una frecuencia de mantenimiento cada 6 días) si que me saca la frecuencia correspondiente a ese registro (Id) en concreto (pero pone en el formulario para todas las tareas una frecuencia de 5 días, y lo que quiero es que para la tarea 1 ponga su frecuencia correspondiente, para la 2  la suya...) pero si uso un bucle for, me da error de tiempos. La tabla seria algo así:
TABLA: MANTENIMIENTO
Id   tarea                 frecuencia
1    limpieza            5
2    reparación        7
3    calibración        6
Código empleado:
Public Function DiasFestivos(fechainicio As Date) As Date
Dim frec As Variant
Dim ide As Variant
For ide = 1 To 16
       frec = DLookup("[FRECUENCIA]", "MANTENIMIENTO", "[Id]= ide")
       fechafin = fechainicio
While frec > 0
If DatePart("w", fechafin) > 1 And DatePart("w", fechafin) < 7 Then
frec = frec - 1
End If
fechafin = fechafin + 1
Wend
If DatePart("w", fechafin) = 1 Then
fechafin = fechafin + 1
End If
If DatePart("w", fechafin) = 7 Then
fechafin = fechafin + 2
End If
DiasFestivos = fechafin
Next ide
End Function
Un saludo y gracias.

Añade tu respuesta

Haz clic para o