-1

我有一个访问数据库,一个表有时间列,显示从(结束时间 - 开始时间)开始的总时间我需要平均该列(hh:mm)ss不需要。我需要将此平均值存储到另一个表中,然后能够在文本框中显示它。在某些时间范围内,就颜色而言,具有条件格式。我将需要在每日范围和每月范围内执行此操作,只是想知道完成此操作的最佳方法是什么。每次表中添加记录时,该月度和日平均值都需要更新。

我对此的想法是将每日时间放入一个数组中,然后对数组进行平均,并将该平均值存储在另一个表中。然后使用每日平均表与条件格式一起显示在文本框中。然后每月平均时间也是如此。

4

1 回答 1

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 之外也很好。

最后,通常不建议您存储一个在每次编辑时都变得无效的值,因为该值可以很容易地计算出来。

于 2012-08-10T09:10:55.997 回答