Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como calcular último día hábil de un mes en visual basic 6

Estas en el tema de Como calcular último día hábil de un mes en visual basic 6 en el foro de Visual Basic clásico en Foros del Web. Buenos dias a toda la gran comunidad de Foros del Web, el día de hoy vengo a solicitar su ayuda con esta inquietud, me gustaria ...
  #1 (permalink)  
Antiguo 13/02/2015, 10:21
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 18 años, 6 meses
Puntos: 0
Como calcular último día hábil de un mes en visual basic 6

Buenos dias a toda la gran comunidad de Foros del Web, el día de hoy vengo a solicitar su ayuda con esta inquietud, me gustaria saber cuando un usuario digite una fecha, si esta es el primer dia hábil del mes me arroje el último día hábil del mes anterior, para explicarme mejor, si el usuario digita en un textbox la fecha 02/02/2015 me muestre en otro textbox 30/01/2015, o si digita 01/04/2015 muestre en el otro textbox 31/03/2015. Muchas gracias de antemano y espero me puedan colaborar.
  #2 (permalink)  
Antiguo 16/02/2015, 06:43
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Como calcular último día hábil de un mes en visual basic 6

Buenos días, traigo el día de hoy la solución que me facilito el Sr. Jose Rubi en su foro, por si a alguien le puede servir.
Código PHP:
Function FechaEfectiva(Fecha As Date) As Date
'dada una fecha comprueba si es el primer día hábil del mes y en caso de serlo, devuelve el último hábil del mes anterior. En otro caso devuelve la fecha recibida

Dim PrimerHabil As Date, UltimoHabil As Date, DiaSemana As Long

'
por defecto devuelvo la fecha recibida sin modificar

FechaEfectiva 
Fecha

'el primer día hábil del mes como mucho será el día 3

If Day(Fecha) > 3 Then Exit Function

'
calculo el primer día hábil del mes

PrimerHabil 
DateValue("1/" Month(Fecha) & "/" Year(Fecha))
DiaSemana Weekday(PrimerHabilvbMonday)

'si es sábado o domingo le sumo los días que resten hasta el lunes

If DiaSemana >= 6 Then PrimerHabil = DateAdd("d", (7 - DiaSemana + 1), PrimerHabil)

'
si la fecha no es el primer día hábil devuelvo la fecha recibida

If Fecha <> PrimerHabil Then Exit Function

'si quieres que al recibir un día no hábil del principio del mes (ej.: 1/2/2015) también devuelva el último hábil del mes anterior cambia la línea por : If Fecha > PrimerHabil Then Exit Function

'
calculo el último día habil del mes anterior

UltimoHabil 
DateSerial(Year(Fecha), Month(Fecha), 1)  'esto significa un día antes del día uno del mes y año de la fecha recibida
'
también valdría UltimoHabil DateAdd("d", -1"1/" Month(Fecha) & "/" Year(Fecha))

DiaSemana Weekday(UltimoHabilvbMonday)

'si es sábado o domingo le resto los días que pasen del viernes

If DiaSemana >= 6 Then UltimoHabil = DateAdd("d", (5 - DiaSemana), UltimoHabil)

'
devuelvo el último día hábil

FechaEfectiva 
UltimoHabil
End 
Function 

Etiquetas: basic, calcular, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:43.