我有一个访问数据库,一个表有时间列,显示从(endtime - starttime)开始的总时间我需要将该列平均(hh:mm)ss不需要。我需要将此平均值存储到另一个表中,然后才能在文本框中显示它。对于特定时间范围的条件格式和颜色。我需要在每日范围和月度范围内进行此操作,只是想知道实现这一目标的最佳方法是什么。每次表格添加记录时,每月和每日平均值都需要更新。
我对此的想法是将每日时间拉入数组,然后对数组求平均值,并将该平均值存储在另一个表中。然后使用每日平均表在文本框中显示,以及条件格式。然后对于月平均时间也是一样的。
答案 0 :(得分: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 Access 2010具有数据宏和计算列,即使在Access之外也是如此。
最后,通常不建议您存储在每次编辑时变得无效的值,以便轻松计算该值。