假设你的数据表中有一个连续编号的字段名曰:ID,有个需要求平均值的字段名曰:val,则:
select "1-13行" as 计算范围,avg(val) as 平均值
from 阁下的数据表名称 where ID<=13
union select "2-14" as 计算范围,avg(val) as 平均值
from 阁下的数据表名称 where ID>=2 and ID<=14
union select "3-15" as 计算范围,avg(val) as 平均值
from 阁下的数据表名称 where ID>=3 and ID<=15
a = DMin("id", "table1") '数据最小id
b = DMax("id", "table1") '数据最大id
c = 13 '每组数据的数量,假设为13
d = b - c + 1 '数据可分组数
For i = 1 To d '从第一组到最后一组,也是每组开始的id号
j = i + c - 1 '每组末尾id号
k = i & "-" & j '利用i、j形成表达式:“1-13”,"2-14”
DoCmd.SetWarnings False '利用追加查询写入表2,利用代码疲敝系统警告信息,注意,这里的标点符号和空格比较复杂,千万不能搞错!
DoCmd.RunSQL "INSERT INTO table2 (grp, grpid, numbavg ) " & _
"SELECT " & i & " AS grp," & k & " AS idgrp,avg(numb) AS numbavg " & _
"FROM table1 " & _
"WHERE ([id]>=" & i & " AND [id]<=" & j & ") ;"
Next
Me.Child3.SetFocus '对子窗体的内容进行排序和刷新
Me.OrderByOn = True
Me.OrderBy = "grp"
Me.Recalc
�������ش˸���
总记录:2篇 页次:1/1 9 1 :