(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Функция определения количества рабочих дней

Аргументы: dtDate1 - начальная дата, dtDate2 - конечная дата, bUseHolidays - True - использовать таблицу праздников False - не использовать таблицу праздников
Назначение: Расчет количества рабочих дней выпадающих на заданный временной интервал
Возвращает: Количество рабочих дней.

Public Function WorkDays(ByVal dtDate1 As Date, ByVal dtDate2 As Variant, Optional ByVal bUseHolidays As Variant) As Long
Dim l As Long, wd1 As Integer, wd2 As Integer
Dim wd As Long

If IsMissing(bUseHolidays) Then
    bUseHolidays = False
End If
l = DateDiff("d", dtDate1, dtDate2, vbMonday)
wd1 = WeekDay(dtDate1, vbMonday)
wd2 = WeekDay(dtDate2, vbMonday)
wd = l - ((l + wd1 + (7 - wd2)) / 7&) * 2& + 1&
If wd1 = 7 Then
    wd = wd + 1
End If
If wd2 <= 5 Then
    wd = wd + 2
ElseIf wd2 = 6 Then
    wd = wd + 1
End If
If bUseHolidays Then
    wd = wd - DCount("*", "tblHolidays", "[Holiday] Between #" & _
    Format(dtDate1, "yyyy mm dd") & "# And #" & _
    Format(dtDate2, "yyyy mm dd") & "#")
End If
WorkDays = wd
End Function

Примечания:
Суббота и воскресенье считаются нерабочими днями.
Таблица праздников в данном примере называется "tblHolidays" и содержит одно поле "Holiday" типа Date/Time . В эту таблицу заносятся даты праздников которые не попадают на субботу и воскресенье.
Автор: из справочника ProgramAdvices

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 30.01.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft 365 Business Basic (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Новые материалы
Один день системного администратора
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100