2015-05-29 4 views
1

Как сделать сумму значений времени в Access 2013?Доступ к значениям времени 2013

Моя колонка выглядит следующим образом: (спасибо пользователю @HansUp!)

SELECT t.[Time From], 
     t.[Time Until], 
     Format((t.[Time Until] - t.[Time From]), 'h:nn') AS [Total], 
     Format(#08:00# - (t.[Time Until] - t.[Time From]), 'h:nn') AS [Missing] 
FROM tblVolkan AS t; 

Как я могу сделать сумму пропавших без вести, не получая ошибку?

ответ

0

Вы просто просуммировать время охватывает:

SELECT 
    Sum([Time Until] - [Time From]) AS [SumTotal], 
    Sum(#08:00# - ([Time Until] - [Time From])) AS [SumMissing] 
FROM 
    tblVolkan; 

Если итоговые суммы может превышать 24 часов, и вы хотите час: минуты дисплей, используйте функцию ниже:

SELECT 
    FormatHourMinute(Sum([Time Until] - [Time From])) AS [SumTotal], 
    FormatHourMinute(Sum(#08:00# - [Time Until] - [Time From])) AS [SumMissing] 
FROM 
    tblVolkan; 

-

Public Function FormatHourMinute(_ 
    ByVal datTime As Date, _ 
    Optional ByVal strSeparator As String = ":") _ 
    As String 

' Returns count of days, hours and minutes of datTime 
' converted to hours and minutes as a formatted string 
' with an optional choice of time separator. 
' 
' Example: 
' datTime: #10:03# + #20:01# 
' returns: 30:04 
' 
' 2005-02-05. Cactus Data ApS, CPH. 

    Dim strHour  As String 
    Dim strMinute  As String 
    Dim strHourMinute As String 

    strHour = CStr(Fix(datTime) * 24 + Hour(datTime)) 
    ' Add leading zero to minute count when needed. 
    strMinute = Right("0" & CStr(Minute(datTime)), 2) 
    strHourMinute = strHour & strSeparator & strMinute 

    FormatHourMinute = strHourMinute 

End Function 
Смежные вопросы