2012-08-10 4 views
-1

액세스 데이터베이스가 있습니다. 한 테이블에 (endtime - starttime)의 총 시간이 표시되는 시간 열이 있습니다.이 열의 평균 (hh : mm)은 필요하지 않습니다. 이 평균을 다른 테이블에 저장 한 다음이를 텍스트 상자에 표시 할 수 있어야합니다. 특정 시간 범위에 대한 색상까지 조건부 형식을 사용합니다. 일일 범위와 월간 범위에 대해이 작업을 수행해야하며,이를 수행하는 가장 좋은 방법이 무엇인지 궁금합니다. 이 월간 및 일일 평균은 테이블에 레코드가 추가 될 때마다 업데이트해야합니다.액세스 데이터베이스의 시간 열 평균

내 생각에 매일 시간을 배열로 가져온 다음 배열의 평균을 구하고 그 평균을 다른 테이블에 저장합니다. 그런 다음 일일 평균 표를 사용하여 조건부 서식과 함께 텍스트 상자에 표시하십시오. 그리고 월간 시간 평균에 대해서도 똑같이 적용됩니다.

답변

1

쿼리에서이 정보를 얻는 것이 결코 쉬운 일이 아니며, 시간은 숫자의 소수 부분입니다.

SELECT Format(Avg(CDbl([Atime2])-CDbl([ATime1])),"hh:mm:ss") AS Diff 
FROM Table; 

또는

SELECT Sum(DateDiff("n",[ATime1],[ATime2])) AS SumMins, 
     Count([ATime1]) AS CountRecs, 
     Avg(DateDiff("n",[ATime1],[ATime2])) AS AvgMins 
FROM Table; 

또한, MS 액세스 2010 년에도 액세스 이외의 좋은 데이터 매크로 및 계산 된 열이 있습니다.

마지막으로 값을 쉽게 계산할 수있을 때마다 편집 할 때마다 유효하지 않은 값을 저장하는 것이 일반적으로 권장되지 않습니다.

+0

히스토리 데이터에 다른 테이블의 값이 필요하면 각 날짜의 날짜 필드로 바인딩됩니다. – user1576669

+0

필요에 따라 위와 유사한 쿼리를 사용하여 테이블을 업데이트 할 수 있습니다. – Fionnuala