2016-10-12 3 views
-3

Ich tracking Stunden pro Woche gearbeitet und habe Probleme beim Formatieren der Dauer zu zeigen 38:28 anstelle von 14:28. In Excel wäre es [h]:mm, aber ich kann es nicht in MS Access neu erstellen. Irgendwelche Ideen?MS Access SQL Totalstunden wenn größer als 24?

+0

'[h]: nn', die den Zugang auf mich wütend wurde für den Versuch, und' h : nn' was mir das '14: 28' (' 1/1/1900 14: 28: 12') anstatt '38: 28' gibt. – MakPo

+0

Was ist der Datentyp und wie präsentieren Sie ihn? Ich schätze, da es sich um irgendeinen Datetime-Datentyp handelt, addiert es einen ganzen Tag - bist du sicher, dass es 1/1 und nicht 2/1 ist? –

+0

Ich habe eine Tabelle, die alle Start- und Endzeiten und die Dauer (datetime) für jeden Tag hat. Ich habe dann eine Abfrage, die es zusammenfügt. SELECT zuerst (DAYS_DURATION.Date) AS [Woche], Summe (DAYS_DURATION.Dur) AS Dur FROM DAYS_DURATION GROUP BY DatePart ("yyyy", [Datum]) + (DatePart ("ww", [Date])/100); ' – MakPo

Antwort

0

Sie diese Funktion nutzen zu können:

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 

und dann diesen Ausdruck in der Abfrage:

Duration: FormatHourMinute([Stop]-[Start])