2014-09-04 5 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 자릿수 대신 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 

P.S.을 DateTime (ms) 액세스는 실제로 double이고 1은 1 일이고 1/24는 1 시간입니다.

+1

합계가 1 (24 시간) 미만이면 작동합니다. –

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 액세스에서도 더 나은 빌드가있을 수 있습니다.