часов входа с 7 до 23 часов означает 16-часовой рабочий день:
IF Datediff('day',[LogInTime],[LogOffTime])=0 Then
(IF Datepart('hour',[LogOffTime])>23 then 23 else Datepart('hour',[LogOffTime]) end)-
(IF Datepart('hour',[LogInTime])<7 then 7 else Datepart('hour',[LogInTime]) end)
Else
Datediff('day',[LogInTime],[LogOffTime])*16 +
(IF Datepart('hour',[LogOffTime])>23 then 23 else Datepart('hour',[LogOffTime]) end)-
(IF Datepart('hour',[LogInTime])<7 then 7 else Datepart('hour',[LogInTime]) end)
End