No, pues los días festivos varían dependiendo del lugar, deberás
crearte una tabla con dichos días festivos y a la función que tiene
Access para calcular días naturales entre dos fecha "DateDiff",
restarles los días que, dentro del periodo a considerar, estén en
dicha tabla y también los sábados y domingos mira la ayuda de dicha
función y quizás también la de Weekday.
Saludos,
CarCar
Marcela ha escrito:
Acabo de encontrar una función realizada por Taribo, que calcula los
días hábiles, pero no tiene en cuenta los días festivos, aunque se
podría retocar:
Public Function DiasHabilesFechas(FechaInicio As Date, FechaFin As
Date) As Long
Dim DiasNoSabadosNoDomingos As Long
Do Until FechaInicio > FechaFin
If Weekday(FechaInicio) <> 1 And Weekday(FechaInicio) <> 7 Then
DiasNoSabadosNoDomingos = DiasNoSabadosNoDomingos + 1
End If
FechaInicio = FechaInicio + 1
Loop
DiasHabilesFechas = DiasNoSabadosNoDomingos
End Function
Si tuviéramos una tabla llamada "TbFestivos" con un campo llamado
"Fecha" que tuviera los días que son festivos, la función quedaría
así:
Public Function DiasHabilesFechas(FechaInicio As Date, FechaFin As
Date) As Long
Dim DiasNoSabadosNoDomingos As Long
Do Until FechaInicio > FechaFin
If Weekday(FechaInicio) <> 1 And Weekday(FechaInicio) <> 7 Then
If IsNull(DLookup("Fecha","TbFestivos","Fecha=#" &
Format(FechaInicio,'mm/dd/yyyy') & "#")) Then
DiasNoSabadosNoDomingos = DiasNoSabadosNoDomingos + 1
End If
End If
FechaInicio = FechaInicio + 1
Loop
DiasHabilesFechas = DiasNoSabadosNoDomingos
End Function
Saludos,
CarCar
Marcela ha escrito:
> Hola,
--
Saludos
José Bengoechea Ibaceta [MS-MVP Access]
http://jbengoechea.com/
"CarCar" <ccar...@hotmail.com> escribió en el mensaje
news:1167927734.5...@42g2000cwt.googlegroups.com...
¡Correcto! y vista tu función me doy cuenta, de que en la mía, he
vuelto a cometer un error muy común en mí cuando escribo sin pasar
primero por Access, usar comillas simples en lugar de comillas dobles
en la función Format.
Pero tu función es "más mejor". :-)
Saludos,
CarCar
Chea ha escrito:
"CarCar" wrote:
:)
"Chea" <fo...@bengoecheaESTONO.net> escribió en el mensaje
news:OJ05i7BM...@TK2MSFTNGP06.phx.gbl...
Se te nota falta de entrenamiento... esas fiestas...
No las incluyes en la tabla. :-)
Saludos,
CarCar
Eva ha escrito:
Pos ya no me gusta :( Y ti vi a contar por qué: mantenimiento de la tabla
año tras año, a mí me gustaría poder copiar todos los registros de mi tabla
de festivos y cambiar la fecha a los que procedan (Semana Santa,
Asunción...) dejando el resto igual. Porque tú imagínate que generas la
tabla de festivos para este año, que es un desastre y todos caen en finde, y
el año que viene te toca volver a escribirlos. Y bueno, si solo mantienes
una tabla de festivos ni tan mal, pero si curras con varias
poblaciones/provincias/comunidades/paises, tendrás que tener varias tablas
(o campo diferenciador) y menudo jaleo que se te monta todos los años.
Sugerencia: Dejar la tablita de festivos con tooooodos los festivos y
eliminar (bien en el momento de la actualización de la fecha del festivo,
mediante campito ad hoc, o bien en el momento del cálculo) aquellos que caen
en finde (contando o no el sábado).
:)
"CarCar" <ccar...@hotmail.com> escribió en el mensaje
news:1167986353.1...@s80g2000cwa.googlegroups.com...
Tiene usted razón, si necesitas diferentes calendarios de días
hábiles, necesitaras que tu tabla de festivos contemple la población
o la comunidad o algo que haga referencia al "tipo de calendario". La
tabla podría tener un campo adicional que indicase si la "fiesta" en
realidad es o no día hábil (por no caer en sábado o domingo) y la
función anterior comprobar si en realidad es fiesta o no.
El formulario que mantuviese la tabla de festivos, podría hacerlo
automáticamente utilizando la función Weekday.
Feliz año,
CarCar
Eva ha escrito:
Simplemente con descontar de la cuenta de festivos aquellos que sean domingo
(ya sabéis weekday=vbSunday) y listo.
Saludos a tod@s
Emilio [MS-MVP Access 2006/7]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio
"CarCar" <ccar...@hotmail.com> escribió en el mensaje
news:1167987983.3...@38g2000cwa.googlegroups.com...
"CarCar" <ccar...@hotmail.com> escribió en el mensaje
news:1167987983.3...@38g2000cwa.googlegroups.com...