Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Неужели нет функции выдающей количество дней в определенном месяце определенного года?  [new]
Noboris
Member

Откуда:
Сообщений: 96
29 дек 03, 11:10    [477168]     Ответить | Цитировать Сообщить модератору
 Re: Неужели нет функции выдающей количество дней в определенном месяце определенного года?  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
встроенной нет , но легко сделать самому

function countdays(mydate as date) ' mydate любая дата искомого месяца
firstmonthdate = cdate("01." & month(mydate) & "." & year(mydate))
firstnextmonthdate=dateadd("m",1, firstmonthdate)
countdays = firstnextmonthdate - firstmonthdate
end function
29 дек 03, 11:24    [477190]     Ответить | Цитировать Сообщить модератору
 Re: Неужели нет функции выдающей количество дней в определенном месяце определенного года?  [new]
Daf
Member

Откуда: Москва
Сообщений: 1916
Встроенной помоему нет. Но попробуй вот эту выдержкуиз Help'a:

В следующем примере функции DateSerial, Year, Month и Day использованы для вычисления количества дней в заданном месяце.

Параметром функции DaysInMonth может быть либо дата, либо строка.

Function DaysInMonth(dteInput As Date) As Integer
Dim intDays As Integer

' Добавим один месяц и вычтем даты, чтобы найти разницу.
intDays = DateSerial(Year(dteInput), Month(dteInput) + 1, Day(dteInput)) _
- DateSerial(Year(dteInput), Month(dteInput), Day(dteInput))
DaysInMonth = intDays
Debug.Print intDays
End Function

В следующей процедуре Sub приведено несколько способов вызова функции DaysInMonth:

Sub CallDaysInMonth()
Dim intDays As Integer
intDays = DaysInMonth(#4/1/96#)
intDays = DaysInMonth("4-1-96")
intDays = DaysInMonth("April 1, 1996")
End Sub
29 дек 03, 11:28    [477197]     Ответить | Цитировать Сообщить модератору
 Re: Неужели нет функции выдающей количество дней в определенном месяце определенного года?  [new]
Roalex
Member

Откуда: Донецк, Украина
Сообщений: 134
Можно так:
Day(DateSerial(Year(DateSerial(y, m, 32)), Month(DateSerial(y, m, 32)), 0))
29 дек 03, 13:08    [477414]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить