Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

obtener la cantidad de dias del mes

930 views
Skip to first unread message

oli

unread,
Jun 8, 2012, 5:10:55 PM6/8/12
to
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.

Emilio

unread,
Jun 9, 2012, 1:24:51 AM6/9/12
to
--------------------------------------------------------------------------
¡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:1c9f8602-bbec-48eb...@googlegroups.com...

José Mª Fueyo

unread,
Jun 11, 2012, 5:42:42 AM6/11/12
to
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]

oli

unread,
Jun 12, 2012, 9:33:48 AM6/12/12
to

Muchas gracias José por brindar otra alternativa,
Saludos,
Olimac.

oli

unread,
Jun 12, 2012, 9:32:15 AM6/12/12
to
Muchas gracias Emilio por su respuesta, muy útiles ustedes los expertos para los que no lo somos.
Saludos,
Olimac.

Emilio

unread,
Jun 12, 2012, 12:09:03 PM6/12/12
to
:-))

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:419ef252-902e-45ea...@googlegroups.com...

Muchas gracias Emilio por su respuesta, muy �tiles ustedes los expertos para

José Mª Fueyo

unread,
Jun 13, 2012, 5:47:23 AM6/13/12
to
De nada
0 new messages