Access - Sumar días laborables o hábiles.

 
Vista:

Sumar días laborables o hábiles.

Publicado por claudio.ar (7 intervenciones) el 25/07/2006 20:53:26
Señores, se que Excel tiene una función "dia.lab()", con la que puedo sumar a una fecha un número, que considera como día hábil, o día laborable. O sea si le sumo a una fecha quince días, en realidad le estoy sumando 3 semanas, 5 días laborables por cada semana. y no dos semanas + 1 día como haría una suma normal. ¿Conoce alguien alguna funcion de VB que haga esto?
Gracias totales.
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:Sumar días laborables o hábiles.

Publicado por Chea (1015 intervenciones) el 26/07/2006 16:08:13
Aquí tienes una función para calcularlos: http://jbengoechea.com/Sumahabiles.htm

La función usa también una tabla llamada Festivos para descontar también éstos. Si no lo necesitas, puedes eliminar la línea que lee en la tabla, en caso contrario, tendrás que crearte la tabla.

Saludos
José Bengoechea Ibaceta
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

RE:Sumar días laborables o hábiles.

Publicado por claudio.ar (7 intervenciones) el 27/07/2006 16:08:11
Resuelto. Muchas gracias José.
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 29/03/2016 14:39:40
Muchas gracias José por la función (ya conseguí hacerla correr)

No sabes la cantidad de dolores de cabeza que me has evitado.

Un saludo y gracias
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 29/03/2016 13:56:02
Hola Chea, justo estoy buscando esto: El siguiente dia habil a partir de una fecha
Me copie la funcion y no consigo hacerla funcionar:
le pongo:
SumaHabiles(inicio,plazo,True)

siendo: inicio: una fecha
plazo:un numero
True para deshabilitar los sábados
Creé una tabla (festivos) con un campo(fecha) para esos dias.

el codigo lo pongo dentro de un formulario, y desde este ejecuto la funcion, pero no la reconoce...¿?
¿Que estoy haciendo mal?

Un saludo uy gracias de antemano
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 30/03/2016 08:00:14
Hola Jose.

Tu función me ha valido mucho. Muchas gracias.

Me gustaría saber, si puedes, como modificarla para que me empezara a contar desde el mismo día de la fecha de inicio y no a partir del día siguiente.

Por ejemplo: SumaHabiles(01/02/2016,3,True), q es lunes, en una semana sin fiestas;

me contaría el día 2,3 y 4. Y tu función me devolvería : 04/02/2016

Pero quisiera q me contara a partir del mismo día 1, y me devolviera 03/02/2016

No se mucho de programación y he intentado hacerlo yo y no he podido…

Si es una modificación corta sin problemas para ti q no te lleve mucho tiempo te lo agradecería,

Un saludo y gracias por las molestias
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
sin imagen de perfil

RE:Sumar días laborables o hábiles.

Publicado por Enrique Heliodoro (1664 intervenciones) el 30/03/2016 10:00:02
¿No seria mas sencillo 'descontar' un día dado que asumes el primero como uno de ellos? ...

'El' supone que el día actual no se cuenta (pero tu 'sí' lo cuentas), con lo que 3 días (menos el actual) serian DOS días .... y eso no hace falta programarlo ....
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 30/03/2016 11:36:13
Sí, eso ya lo hice Enrique, pero no funciona bien así.
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 31/03/2016 11:12:31
Lo he intentado así, pero no lo consigo:
Por ejemplo en este caso:
Para saber en que día hábil me colocaría si a partir del 30/03/2016 le sumo 5 días hábiles,:
La función empezaría a contar días a partir del 31 en adelante…
Si quiero q empiece a contar desde el primer dia y no desde el siguiente, como dices, pondría 4 y no 5 dias:
osea cambiaría el código añadiendo esta linea al principio:

Totaldías = Totaldías - 1

Y ejecuto: SumaHabiles(30/03/2016,5,True)

Pero…
devuelve un sábado: 02/04/2016

No se que estoy haciendo mal...
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
sin imagen de perfil

RE:Sumar días laborables o hábiles.

Publicado por Enrique Heliodoro (1664 intervenciones) el 31/03/2016 11:53:40
Curiosa forma de proceder ....

Si el 'totaldias' es la variable que se utiliza para indicar el tiempo, la expresión debería sera algo asi:
Totaldías = Totaldías - 1

Y ejecuto: SumaHabiles(#30/03/2016#,Totaldías ,True)

Y si funciona de forma incorrecta con ese método (o el de poner un numero equivalente), tendrás que convenir conmigo en que el problema esta fuera del rango natural, pues se le pasan como parámetros un valor de fecha (tu utilizas una doble division) .... porque:
.- dd/mm/aaaa es una division
.- así: "dd/mm/aaaa" seria un texto que representa a una fecha
.- y así: #dd/mm/aaaa# una fecha, eso si, en formato europeo (que puede liar mes y día)
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 31/03/2016 12:25:36
Hola Enrique,
bueno, lo de poner SumaHabiles(30/03/2016,5,True) fue por simplificarlo un poco,
porque en realidad puse:
plazo_respuesta_maximo.Value = SumaHabiles(txt_fecha_inicio.Value, TXT_PLAZO.Value, True)

donde plazo_respuesta_maximo, txt_fecha_inicio y TXT_PLAZO son cuadros de texto (con formato fecha ) de un formulario.

¿Me podrias decir que tengo q corregir?

Muuchas gracias
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 31/03/2016 12:50:11
Corrijo:
TXT_PLAZO es campo numerico

pero no creo q los tiros vayan por el formato de las fechas, pq la función corre perfectamente tal como fue diseñada. Empiezo a tener problemas cuando hago Totaldías = Totaldías - 1 , (osea cuando yo meto la zarpa)

es entonces cuando me da los resultados raros (por ejemplo devolverme sabados)
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
sin imagen de perfil

RE:Sumar días laborables o hábiles.

Publicado por Enrique Heliodoro (1664 intervenciones) el 31/03/2016 14:26:17
No conozco la función (no la he necesitado porque cuando lo precise esta o estaba en el tintero o sin publicar) pero básicamente todas son similares.

Es raro lo que comentas, porque sea un día o mas de uno ... el quitarle un día (con la excepción de que el resultado sea un cero o valor negativo y no este contemplado en la función), debería 'importarle un pimiento'.

De entrada, la función 'se mira pero no se toca', por lo que lo único que podras variar serian los parametros al llamarla y si (por esas cosas de la vida) ese dato lo toma en alguna otra parte como referente, siempre estará presente la posibilidad de 'restarle un dia' a la fecha de partida, con lo que la cantidad de días se mantendría.

¿Como lo haría yo en caso similar? ...
A.-
Me.plazo_respuesta_maximo = SumaHabiles(Me.txt_fecha_inicio -1, Me.TXT_PLAZO, -1)

B.-
Me.plazo_respuesta_maximo = SumaHabiles(Me.txt_fecha_inicio, Me.TXT_PLAZO -1 , -1)

Apreciaras que no se manipula dato alguno, solo los parametros que se envían a la función.
(nota: he partido del supuesto que los objetos están en el formulario que hace la llamada, por ello he añadido el 'me' y asi se evita conflicto con posibles variables del mismo nombre ... algo habitual cuando se copia y se intenta homogeneizar)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Sumar días laborables o hábiles.

Publicado por fpeg (11 intervenciones) el 31/03/2016 14:44:28
Gracias Enrique, estaba un poco espeso hoy.

Siguiendo tus instrucciones, sin cambiar código, y quitando un día a la fecha sale

Un saludo
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