2014-09-04 52 views
0

我想在Access中創建一個查詢,它將總結每個項目的總時間。訪問SQL時間格式小時分鐘

我有一個數據庫,它看起來像:

Time | Project 
------------------ 
1:00 | 1455 
2:30 | 1666 
0.50 | 1455 
0.45 | 1455 

我想知道有多少小時,給所有的項目。

到目前爲止,我已經創建了一個查詢,返回每個項目的總時數,這是很好的。

然而,時間格式爲odd.For實例應該返回17:10小時的項目返回此0.715277777777778

我試圖格式化場的時間,總回報正常看格式,與17 :10小時而不是所有這些小數。

這是SQL我現在所擁有的

SELECT Sum(Dan.Time) AS SumOfTime, Dan.Project 
FROM Dan 
GROUP BY Dan.Project 
ORDER BY Dan.Project; 

誰能幫助?

回答

1

您可以使用格式功能:

Format(Sum(Dan.Time),"hh:nn") AS SumOfTime 

附: DateTime in ms訪問實際上是double,其中1是一天,而1/24是一個小時,依此類推。

+1

只要總和小於1(24小時),這將起作用。 – 2014-09-04 09:12:17

0

我不能使用ms訪問,但也許這可以幫助你。

所有時間應保存在相同的類型。也許你應該在將它們存入數據庫之前格式化時間。

如果是不可能的,你可以試試這個

SELECT 
    Int(Sum(Dan.Time) * 24) & ":" & (Int((Sum(Dan.Time) * 24 - Int(Sum(Dan.Time) * 24)) * 60) + 1) 
    AS TimeStr, 
    Dan.Project 
FROM 
    Dan 
GROUP BY 
    Dan.Project 
ORDER BY 
    Dan.Project; 

它computs小時,並從十進制數分鐘並連接數量爲HH:MM。 也許在ms訪問中還有更好的構建方式。

相關問題