以下代码是我尝试使用的代码,以便从多个表中获取一列的计数和另外两列的平均值,然后将结果放入另一个表中。
我认为这会有效,但是新表中的计数与平均数一样不正确。很多时候,平均值超出了平均数的范围。被平均的数字都是负数,其中大多数都包含小数。列的数据类型设置为Number
,平均数字(源和目标)的字段大小设置为Double
。
For i = 1000 To 1783
strQuery1 = "Insert Into MIUsInGridAvgs (NumberofMIUs, ProjRSSI, RealRSSI) " & _
"Select Count(MIUID), Avg(ProjRSSI), Avg(RealRSSI) " & _
"From MIUsInGrid" & i & " "
DoCmd.SetWarnings False
DoCmd.RunSQL strQuery1
DoCmd.SetWarnings True
Next
我从各个终端查询的表名称,包括1000到1783之间的数字。
MIUsInGrid1000
MIUID Latitude Longitude ProjRSSI RealRSSI 110108098 32.593021 -85.367073 -97.4625 -108
MIUsInGrid1001
MIUID Latitude Longitude ProjRSSI RealRSSI 110112556 32.592461 -85.337067 -101 -95 110106208 32.592766 -85.337059 -101 -100 110115010 32.59288 -85.337189 -101 -98
MIUsInGrid1002
MIUID Latitude Longitude ProjRSSI RealRSSI 110172260 32.593349 -85.366318 -104.408333333333 -99 110106870 32.593464 -85.365822 -104.408333333333 -106
NumberofMIUs ProjRSSI RealRSSI 1 -97.4625 -108 'MIUsInGrid1000 1 -100.883333333333 -109 'MIUsInGrid1001 1 -109.521428571429 -99 'MIUsInGrid1002
我做错了什么?
答案 0 :(得分:1)
为了能够使用AVG()
群组功能,您是否必须按某种方式进行分组?
您的i
变量包含哪些值?
答案 1 :(得分:1)
涉及哪些数据类型? MIUsInGrid###
以及MIUsInGridAvgs
中的列类型有哪些?
您是否确定在列出没有平均值或其他行的情况下填充表格?
如果您手动一次运行查询会怎样?
答案 2 :(得分:0)
我找到了答案,但我真的不明白。 NumberofMIUs 列将“Indexed
”属性设置为“Yes (Duplicates OK)
”。当我将设置更改为“No
”时,查询工作正常。