Bucle con fechas en calendario
Estoy realizando un calendario donde, si un feriado cae miércoles o jueves debe pasar al lunes próximo, ejemplo cae 1 debe pasar a al lunes 6 y si cae martes debe pasar al lunes anterior ejemplo: martes 2 debe pasar a lunes 1. Estoy utilizando este bucle, que me adelante la fecha a 20 años, con el día esta todo bien. No consigo que los años corrar y que los demás también. Eh probado con if y no hay caso les dejo el código que utilizo.
Private Sub Movible_Click()
Dim i As Byte
Dim ahora1 As Date
Dim fech As Date
Dim texto As String
Dim salida As String
Dim Descrip: Descrip = Me.Descripcion
fech = Me.Fecha
ahora1 = DateAdd("d", 0, [fech]) ' dejo dia actual
ahora1 = DateAdd("yyyy", 0, [fech]) ' dejo año actual
Fecha = ahora1
texto = Me.Conmemoracion 'Es para acortar nombre y borrar todos
salida = Left(texto, 3)
Me.clave = salida
If Weekday(Fecha, vbMonday) = 3 Then ' si el dia es igual a mierocles debe pasar al lunes posterior
For i = 1 To Me.si 'armo el bucle segun la catidad del campo si
DoCmd.SetWarnings False
fech = ahora1
ahora1 = DateAdd("d", -2, [fech]) ' aqui le resto los 2 dias
ahora1 = DateAdd("yyyy", 1, [fech]) ' aqui suma un año
DoCmd.GoToRecord , , acNewRec
Descripcion = Descrip
Fecha = ahora1
Descripcion = Descrip
texto = Me.Conmemoracion
salida = Left(texto, 3)
Me.clave = salida
DoCmd.GoToRecord , , acFirst
Me.Requery
Me.Lista43.Requery
Next i
End If
End Sub