多个ID的日期平均值表

时间:2009-10-15 18:34:45

标签: ms-access group-by grouping average

我有一个表格,每个项目都有一个唯一的ItemID。还有另一个表格,其中包含每月一次对这些项目进行的测试的信息(有些可能每月有多个测试,有些可能没有几个月),每个测试条目都有一个完整的日期mm/dd/yyyy。我希望每月显示所有数据中某个字段的平均值。因此,假设我的平均值是项目权重,我想得到一个像这样的表:

Date AvgOfWeight  
1/09 24.55  
2/09 28.64  
3/09 22.39  

依旧......

我知道我可以执行查询以执行平均值,并且我可以按特定条件对平均值进行分组,但是有一种简单的方法可以按月对mm/dd/yyyy个日期进行分组吗?

1 个答案:

答案 0 :(得分:0)

我喜欢这种strzero功能,可以这样使用:

m_monthYear = strZero(year(date()),4) & "-" & strZero(month(date()),2)

结果看起来像2009-09,可以按年度开始按升序排序。您只需按如下方式创建此strZero功能:

Public function strZero(x_myLong as long, x_length as integer) as string
Dim m_strZero as string

m_strZero = trim(str(x_myLong))
do while len(m_strZero) <= x_length
    m_strZero = "0" & m_strZero
loop
strZero = m_strZero
end function

这是动态写的。请检查str的所有参数(如果有),添加错误管理,并根据自己的需要进行调整。您可能希望将x_myLong作为变量传递,以便返回“0000”字符串。将数字转换为固定长度字符串时,此函数有多种其他用途。