Visual Basic - Calcular Dias laborables

Life is soft - evento anual de software empresarial
 
Vista:

Calcular Dias laborables

Publicado por Juan (1 intervención) el 06/08/2002 17:29:54
Como puedo calcular el numero de dias entre dos fechas descartando los dias inhabiles, por ejemplo: 31/04/02 y 6/05/02 la diferencia es de 6 dias pero quitale el sabado y domingo nos da 4 dias .

como la calculo en visual o Access

graicas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calcular Dias laborables

Publicado por DINA ALZAMORA (2 intervenciones) el 08/08/2002 17:35:29
****** Cálculo de Días Laborales

Private Function DiasLaborales()
Dim j, k As Integer

Dim FechaInicio As Date
Dim FechaFin As Date
Dim FechaAux As Date

Dim Diferencia As Integer

FechaInicio = "03/01/2002" 'FechaInicio = txtFechaInicio
FechaFin = "04/01/2002" 'FechaFin = txtFechaFin

Diferencia = DateDiff("d", FechaInicio, FechaFin) + 1



k = 0
FechaAux = FechaInicio
For j = 1 To Diferencia
If Weekday(FechaAux, vbMonday) = 7 Then 'Pregunto si es Domingo
ElseIf Weekday(FechaAux, vbMonday) = 6 Then 'Pregunto si es Sabado
ElseIf Feriado(FechaAux) Then 'Pregunto si es Feriado
Else
k = k + 1
End If
FechaAux = DateAdd("d", 1, FechaAux)
Next j
DiasLaborales k

End Function

Private Function Feriado(FechaAux As Date) As Boolean 'TIENES QUE CREAR UNA TABLA EN ACCESS CON LOS DÍAS FERIADOS
' EJ:01/01/02
CREA UN RECORDSET A NIVEL GLOBAL
Feriado = False

Grs9.MoveFirst
While Not Grs9.EOF And Not Feriado
If FechaAux = Grs9!Fecha Then
Feriado = True
Exit Function
End If
Grs9.MoveNext
Loop
End Function

****** Cálculo de Meses Laborales
Private Sub MesesLaborales()
Dim j As Integer

Dim FechaInicio As Date
Dim FechaFin As Date
Dim FechaAux As Date

Dim Diferencia As Integer

FechaInicio = "03/01/2002" 'FechaInicio = Formulario.txtFechaInicio
FechaFin = "01/01/2003" 'FechaFin = Formulario.txtFechaFin

Diferencia = DateDiff("m", FechaInicio, FechaFin) + 1
FechaAux = "01/" & Month(FechaInicio) & "/" & Year(FechaInicio)
For j = 1 To Diferencia
MsgBox Format(Month(FechaAux) & "/" & Year(FechaAux), "mm/yyyy") '---> Lista
'lista.additem(Format(Month(FechaAux) & "/" & Year(FechaAux), "mm/yyyy"))
FechaAux = DateAdd("m", 1, FechaAux)
Next j
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar