2014-02-18 4 views
0

У меня есть отчет с несколькими разницами во времени. Например, есть поля, как показано нижеСумма DATETIME в каждом разделе отчета

3 дней 4 часа 15 минут

6 часов 12 минут

1 часа 15 минут

и есть много сгруппированных участков ... Я хочу, чтобы сумма времени для каждого раздела была независимой.

+0

Предоставлять 'SHOW CREATE TABLE имя_таблицы;' выход – Alexander

+0

о том, что значение имеют -SQL теги? – Strawberry

+0

Каков фактический тип в базе данных? Это похоже на характер, что усложняет ситуацию. Какая точность вам нужна? Например, в зависимости от времени года и местоположения, дни не всегда 24 часа. Если значения скатываются до следующего наибольшего значения ('12 часов + 12 часов = 1 день')? Какая самая маленькая/самая большая единица? –

ответ

0

вышеупомянутая проблема может быть решена путем преобразования времени в секунды и добавления их вверх.

Существует функция, которая затем преобразует общее количество секунд в дни/часы/минуты и секунды.

Function DHMS(Date1 As Date, Date2 As Date) As String 
    Dim NumberOfSeconds As Long 
    Dim NumberOfMinutes As Long 
    Dim NumberOfHours As Long 
    Dim NumberOfDays As Long 

    'Number of seconds between the two dates 
    NumberOfSeconds = Abs(DateDiff("s", Date1, Date2)) 

    'Calculate Days and remaining Seconds 
    NumberOfDays = NumberOfSeconds \ 86400 
    NumberOfSeconds = NumberOfSeconds Mod 86400 

    'Calculate Hours and remaining Seconds 
    NumberOfHours = NumberOfSeconds \ 3600 
    NumberOfSeconds = NumberOfSeconds Mod 3600 

    'Calculate Minutes and remaining Seconds 
    NumberOfMinutes = NumberOfSeconds \ 60 
    NumberOfSeconds = NumberOfSeconds Mod 60 

    'Return the time remaining 
    DHMS = NumberOfDays & " Day" & _ 
    IIf(NumberOfDays = 1, " ", "s ") & _ 
    NumberOfHours & " Hour" & _ 
    IIf(NumberOfHours = 1, " ", "s ") & _ 
    NumberOfMinutes & " Minute" & _ 
    IIf(NumberOfMinutes = 1, " ", "s ") & _ 
    NumberOfSeconds & " Second" & _ 
    IIf(NumberOfsecondss = 1, "", "s") 
End Function 
Смежные вопросы