Días laborales en access

Tengo el problema que no se como calcular una fecha, teniendo un campo fecha inicial y quiero que al sumarle 12 días me saque la nueva fecha pero estos 12 días son laborales o sea que no me cuenta los sábados y domingos, si se pudiera tomar los festivos mucho mejor.

2 respuestas

Respuesta
1
Sumar días a fechas es sencillo, ¿quieres sumar 12 días a una fecha? Pues pones:
Fecha2=Fecha1+12
y ya está, si sólo quieres labolables es un poco más complicado, puedes usar este código
Dim d as integer
d=12
Fecha2=fecha1
While d>0
fecha2=fecha1+1
if DatePart("w", Date) > 1 or DatePart("w", Date) < 7 then
d=d-1
end if
Wend
Y en cuanto a los festivos, piensa un poco, mañana es festivo en Zaragoza, ¿y en dónde tú vives?
Hola smanero
Primero que todo muchas gracias por tu coloboración.
El código que me enviaste me dio una idea pero no he podido realizar el calculo como es. Tu solución me esta arojando como resultado la suma se un día más ej.
Si la fecha es 04/03/2003 me arroja como resultado 05/03/2003 y la solución debería ser 20/03/2003 sumándole 12 días más, por favor si puedes ayudarme te lo agradecería si no resuelvo este problemita hoy me despedirán, es muy urgente...
Yo soy de cali (Colombia)
Gracias
El código en mi aplicación quedo así:
Dim d As Integer
d = 12
fecha2 = FechaSolicitud
While d > 0
fecha2 = FechaSolicitud + 1
If DatePart("d", Date) > 1 Or DatePart("d", Date) < 7 Then
d = d - 1
End If
Wend
Disculpa ocenca he tenido un pequeño fallo (fruto de las prisas), el código bueno es
Dim d As Integer
d = 12
fecha2 = FechaSolicitud
While d > 0
fecha2 = fecha2 + 1
If DatePart("d", Date) > 1 Or DatePart("d", Date) < 7 Then
d = d - 1
End If
Wend
Como podrás observar solo hay un pequeño fallo.
Arregle el código y me quedo casi igual meda excelentes resultados lo único que me hace falta es lo de los festivos si tienes tiempo te agradecería aun más tu ayuda el código que realice es el siguiente.
Dim d As Integer
d = 5
fecha2 = FechaSolicitud
While d > 0
If (DatePart("w", fecha2) > 1 And DatePart("w", fecha2) < 7) = True Then
d = d - 1
End If
fecha2 = fecha2 + 1
Wend
Para los festivos tomo como referencia el mes de abril, en mi país es semana santa y tiene 2 festivos los cuales son jueves y viernes santo.
Esto es un reto para mi porque´no tengo idea de como hacerlo. Espero que usted si sepa.
Muy agradecido por tu ayuda
Espero que estés muy bien.
Suerte...
Efectivamente en la función datepart hay que poner w (de weekday), pero lo de semana santa y resto de festivos lo deberías hacer 'a mano', ten en cuenta que Semana Santa depende del calendario Lunar (Pascua judía) y cada año tocan en distintas fechas, en fin tu verás.
Respuesta

Descarga e instala el manual y ejemplos en Access y Excel del siguiente enlace:

https://mega.nz/#!TMkFES6D!6RGkDnt_1lG6V5RkDMYxE3KBpZIwm3UECAMuIcjbf_Q 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas