LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Ночные ча...
 Тема: Ночные часы???
 
 15.06.2007 21:03:38
boar
6 сообщения


Тема: Ночные часы???
Кто нить считал ночные часы?
Есть рабочие часы от 4:00 до 16:00 и норма ночных от 22:00 до 6:00
На выходе должно быть 2:00 часа ночных
Помогите пожалуйста разобраться


P.S. Клиенты автоматизации
Автор: boar от 20.01.2003 10:07:53 Источник ...
 15.06.2007 21:03:38
All
4316 сообщения
1-ый


RE: Ночные часы???
И до вас автоматизация добралась? ;-)


P.S. Клиенты автоматизации
Автор: KELO от 0:00:00 Источник ...
 15.06.2007 21:03:38
cow-cow
1 сообщения


RE: Ночные часы???
если это еще кому-нть надо

Public Function hourcount(timeStart As Variant, timeFinish As Variant, Braketime As Variant) As Single

Dim h As Single

h = (DateDiff("n", xtabCnulls(timeStart), xtabCnulls(timeFinish))) / 60

If timeFinish < timeStart Then
hourcount = 24 - Braketime + h
' Если работа закончена на следующие сутки

Else
hourcount = -Braketime + h

End If

End Function


Public Function nighttime(timeStart As Variant, timeFinish As Variant) As Single
Dim h1 As Single
Dim h2 As Single
nighttime = 0
'h = (DateDiff("n", timeStart, timeFinish)) / 60

If timeFinish < timeStart Then
' анализ утренней половины
If timeFinish >= #6:00:00 AM# Then
h1 = 6
Else
h1 = 6 - DateDiff("n", timeFinish, #6:00:00 AM#) / 60
End If

' анализ вечерней половины
If timeStart <= #10:00:00 PM# Then
h2 = 2
Else
h2 = 2 - DateDiff("n", #10:00:00 PM#, timeStart) / 60
End If

nighttime = h1 + h2

Else
' если работал в течение одних суток - строго в ночное время
If (timeStart <= #6:00:00 AM#) And (timeFinish <= #6:00:00 AM#) Or (timeStart >= #10:00:00 PM#) And (timeFinish >= #10:00:00 PM#) Then
nighttime = DateDiff("n", timeStart, timeFinish) / 60
Else
' только кусочек утра с 0 до после 6 утра
If (timeStart <= #6:00:00 AM#) And (timeFinish >= #6:00:00 AM#) Then
nighttime = DateDiff("n", timeStart, #6:00:00 AM#) / 60
' только кусок вечера с 10 до 12
Else
If (timeStart <= #10:00:00 PM#) And (timeFinish >= #10:00:00 PM#) Then
nighttime = DateDiff("n", #10:00:00 PM#, timeFinish) / 60
End If
End If
End If

End If

End Function


P.S. Клиенты автоматизации
Автор: cow-cow от 22.10.2003 12:27:12 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Ночные ча...
ПоискПоиск  Список форумовСписок форумов  
right