在VB中使用SELECT语句求取数据库中符合一定条件的数据的平均值,该如何处理阿? ( 积分: 50 )

  • 主题发起人 主题发起人 eggplant20
  • 开始时间 开始时间
E

eggplant20

Unregistered / Unconfirmed
GUEST, unregistred user!
表:数据输入
字段:检测数值,周,天(这里周是14-20周,天是0-6天)
现要求取14-20周各周0天的检测数值的平均值,然后将各周0天的平均值显示在各周对应的文本控件内。
我用的是:
Dim I As Integer
Dim b() As Variant
Data1.RecordSource = "select 检测数值 from 数据输入 where 周=14 and 天=0"
Data1.Recordset.MoveFirst
For I = 1 To data1.recordset.recordcount
b(I) = Data1.Recordset("检测数值")
Data1.Recordset.MoveNext
Next I
Text16.Text = mean(data1.recordset.recordcount,b()) '这里我自己写了个求平均值的函数mean(n,b())
但是确编译错误,首先是下标越界,而且recordcount=1,我不知道哪里有问题,请高手帮忙!
 
表:数据输入
字段:检测数值,周,天(这里周是14-20周,天是0-6天)
现要求取14-20周各周0天的检测数值的平均值,然后将各周0天的平均值显示在各周对应的文本控件内。
我用的是:
Dim I As Integer
Dim b() As Variant
Data1.RecordSource = "select 检测数值 from 数据输入 where 周=14 and 天=0"
Data1.Recordset.MoveFirst
For I = 1 To data1.recordset.recordcount
b(I) = Data1.Recordset("检测数值")
Data1.Recordset.MoveNext
Next I
Text16.Text = mean(data1.recordset.recordcount,b()) '这里我自己写了个求平均值的函数mean(n,b())
但是确编译错误,首先是下标越界,而且recordcount=1,我不知道哪里有问题,请高手帮忙!
 
select avg(检测数值) from 数据输入 where 周=14 and 天=0

不就可以了么,干吗要自己算平均值?并且你这个b数组下界不循环调整,当然会超界了
 
由于我每周都要计算平均值,所以我想用数组来分别计算,但是我对使用Data1.recordsource和recordset都不太行。CurveSoft你说的这种我也想过,但我不知道怎样将 "select avg(检测数值) from 数据输入 where 周=14 and 天=0"求出的平均值赋值到对应的文本内
 
谢谢你的帮助,我已经做出来了。[:D]
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
843
import
I
后退
顶部