Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

关于Access中分组的问题!求大神帮助!

水之樱雪  发表于:2013-04-27 13:09:55  
复制

我想将数据库中的数据每三个分为一组,然后算出每组的平均值和极差【组中最大值-最小值】,这个如何实现??

 

例如:我有60个数据,每3个一组,我就有20组,最后经过计算得出,20个平均值和20个极差

 

Top
在水一方 发表于:2013-04-28 22:00:13

可以利用循环函数来实现

for i=i to n/3

Savg=(A(i*3-2)+A(i*3-1)+A(i*3))/3  '平均值

Savg = Savg & "  "

next i

参考文章:http://www.accessoft.com/blog/article-show.asp?userid=20576&Id=8156



水之樱雪 发表于:2013-04-30 10:33:59
请问大神这个语句是在ACCESS里面实现的么???还是在VB之类的软件里??

在水一方 发表于:2013-05-01 08:30:54

语句是在vba实现,如果你不习惯用代码,而习惯用查询,可以这样实现(个人意见):

1、把数字分组,组号:int(([ID]+2)/3)。然后利用汇总查询求各组平均值、最大值、最小值、极差......

2、建立组内小号,组内小号:mod([ID],3)。利用组号、组内小号制作交叉表查询。

3、将1、2两个查询联系起来,生成你想要的视图。

 

参考一下这个示例:http://www.accessoft.com/blog/article-show.asp?userid=20576&Id=7695

这里姓名就相当于是“组号”,科目就相当于是“组内小号”

 



在水一方 发表于:2013-05-01 15:09:17
总记录:4篇  页次:1/1 9 1 :