Crear función días laborables Access

Necesito de su ayuda para construir una función en access que me calcule los días laborales entre dos fechas que ingrese: Funtion DiasLaborales ( FechaIni; FechaFin) compare con una tabla de días festivos (Sábados, Domingos y Festivos) por fecha y me devuelva el numero de días excluyendo los días de la tabla...

1 Respuesta

Respuesta
2

Iban: Aunque no sea excesivamente largo, puesto que ya está publicado en varias ocasiones, te recomiendo mirar en éste enlace de eb de Neckkito:

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/todos 

En el apartado de "CODIGO", verás Contar días (1), ContarDias (2)...

En mi opinión resolverán totalmente tus dudas. Mis saludos >> Jacinto

Ivan: lamento haber pulsado la "b" que está al lado de la "v".

A nadie nos gusta que nos cambien el Nombre. Mis saludos >> Jacinto

¡Gracias!  compa por tu ayuda ya encontre la solucion a mi problema y lo comparto con ustedes:


'---------------------------------------------------------------------------------------
' Procedure : DiasLaborables
' DateTime : 25/09/2005
' Author : José Bengoechea Ibaceta (Chea)
' Purpose : Calcular el número de días laborables entre dos fechas. Si se
' : le pasan los argumentos opcionales NombreTablaFestivos y
' : NombreCampoFestivo, tiene también en cuenta los días festivos
' : que estén guardados en un campo con nombre NombreCampoFestivo
' : en la tabla con nombre NombreTablaFestivos.
' Estás autorizado a utilizar este código dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web, por favor,
' contactar con el autor en
'
' [email protected]
'---------------------------------------------------------------------------------------
'
Public Function DiasLaborables(FechaDesde As Date, FechaHasta As Date, Optional _
NombreTablaFestivos As String, Optional NombreCampoFestivo As String) As Long
Dim Laborables As Long
On Error GoTo DiasLaborables_Error
Laborables = 1 + (FechaHasta - FechaDesde)
If NombreTablaFestivos <> "" And NombreCampoFestivo <> "" Then
Laborables = Laborables - DCount("*", NombreTablaFestivos, "[" & _
NombreCampoFestivo & "] Between #" & Format(FechaDesde, "mm/dd/yyyy") & _
"# AND #" & Format(FechaHasta, "mm/dd/yyyy") & "#")
End If
'Laborables = Laborables - DateDiff("ww", FechaDesde, FechaHasta, vbSaturday)
'Laborables = Laborables - DateDiff("ww", FechaDesde, FechaHasta, vbSunday)
'Laborables = Laborables + (Weekday(FechaDesde, vbSunday) = 1)
'Laborables = Laborables + (Weekday(FechaDesde, vbSaturday) = 1)
DiasLaborables = Laborables
On Error GoTo 0
Exit Function
DiasLaborables_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & _
") in procedure DiasLaborables"
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas