Calcular días

Juanito me gustaría que me ayudaras a calcular los días laborales (Lunes a viernes) entre 2 fechas, si se puede también sin festivos ojala un ejemplo.

2 respuestas

Respuesta
1
Para saber en que día estas basta con la función Weekday("17/03/2003")
Para los días festivos, como tu pc no lo almacena, debes meterlos en una tabla y tratarlos aparte
Ok Juanito ya sabia esta instrucción pero me gustaría que me regalaras el código completo con un campo fecha inicio y fecha fin = Días es que no me sale, gracias
Te hago la función, aunque no debería, porque así no aprenderás a hacerla. Tu verás...
Function dime_festivos(f1 As Date, f2 As Date) As Integer
Dim fAux As Date, iDia As Integer, iContFestivos As Integer
Dim base As DAO.Database
Dim rs As DAO.Recordset
Set base = CurrentDb
fAux = f1
iContFestivos = 0
While fAux <= f2
iDia = Weekday(fAux)
If iDia = vbSunday Or iDia = vbSaturday Then
iContFestivos = iContFestivos + 1
Else
'Miramos la tabla de festivos
Set rs = base.OpenRecordset("select count(*) from festivos where " & _
"dia=" & Day(fAux) & " and mes=" & Month(fAux) & " and anio=" & _
Year(fAux))
If rs.Fields(0) > 0 Then
iContFestivos = iContFestivos + 1
End If
End If
fAux = fAux + 1
Wend
rs.Close
Set rs = Nothing
Set base = Nothing
dime_festivos = iContFestivos
End Function
Luego la invocas desde donde quieras más o menos así...
Private Sub Comando0_Click()
Dim resp As Integer
resp = dime_festivos("01-01-2003", "11-01-2003")
MsgBox resp
End Sub
Evidentemente, deberás tener una tabla festivos con los campos día, mes y anio.
Respuesta

No es la mejor solución, olvídese de tablas de festivos etc. Descargue e instale el manual y ejemplos para Access y Excel del siguiente link:

Encontrará la respuesta y muchas cosas más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas