obtener la cantidad de dias del mes

08/06/2012 - 23:10 por oli | Informe spam
Hola grupo: En un informe de access necesito hacer cálculos que dependen de la cantidad de días del mes en cuestión, es decir cuando el mes que muestre el informe sea enero, el cálculo debe ser con 31, en abril con 30, etc. ¿Existe alguna función en access que devuelva el # de días para un mes?, sino sugieranme otra solución.
Muchas gracias.
Olimac.

Preguntas similare

Leer las respuestas

#1 Emilio
09/06/2012 - 07:24 | Informe spam
¡Importante!: Colabora con el grupo. Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias
Hola!
pues no no hay ninguna función, pero puedes calcularlo restando la fecha del
primero del mes del primero del mes pasado

'*******************************************************************************
'* DiasEnMes
'* función que calcula el número de días del mes de la fecha pasada como
parámetro
'* o en su defecto la actual
'* Argumentos: opcional datFecha => cualquier dato considerable como fecha
'* uso: DiasEnMes("01/02/2000") / DiasEnMes(Date) / DiasEnMes(37933)
'* ESH 08/11/03 19:06
'*******************************************************************************

Function DiasEnMes(Optional datFecha As Date) As Integer
If datFecha = "0:00:00" Then datFecha = Date
DiasEnMes = Day(DateSerial(Year(datFecha), Month(datFecha) + 1, 0))
End Function ' DiasEnMes

Saludos a todos
Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio

"oli" escribió en el mensaje de
noticias:

Hola grupo: En un informe de access necesito hacer cálculos que dependen de
la cantidad de días del mes en cuestión, es decir cuando el mes que muestre
el informe sea enero, el cálculo debe ser con 31, en abril con 30, etc.
¿Existe alguna función en access que devuelva el # de días para un mes?,
sino sugieranme otra solución.
Muchas gracias.
Olimac.
Respuesta Responder a este mensaje
#2 José Mª Fueyo
11/06/2012 - 11:42 | Informe spam
Hola
Tienes multitud de soluciones. La que yo te propongo, es calcular el día 1 del mes siguiente al que le pases como parámetro, y restarle uno. De esa forma recuperas el valor del último día del mes. Con la función Day, obtendrás el valor que buscas.
<pego>
Public Function DiasEnMes(lMes As Integer, lAnio As Integer) As Integer
Dim dFecha As Date
dFecha = DateAdd("d", -1, DateSerial(IIf(lMes = 12, lAnio + 1, lAnio), IIf(lMes = 12, 1, lMes + 1), 1))
DiasEnMes = Day(dFecha)
End Function
</pego>

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#3 oli
12/06/2012 - 15:32 | Informe spam
Muchas gracias Emilio por su respuesta, muy útiles ustedes los expertos para los que no lo somos.
Saludos,
Olimac.
Respuesta Responder a este mensaje
#4 oli
12/06/2012 - 15:33 | Informe spam
Muchas gracias José por brindar otra alternativa,
Saludos,
Olimac.
Respuesta Responder a este mensaje
#5 Emilio
12/06/2012 - 18:09 | Informe spam
:-))

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"oli" escribió en el mensaje de
noticias:

Muchas gracias Emilio por su respuesta, muy útiles ustedes los expertos para
los que no lo somos.
Saludos,
Olimac.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida