注册 登录
编程论坛 VB6论坛

【求助】如何在label控件中获取access 成绩 表中 的整列记录的总和然后平均

coucongzi 发布于 2013-08-06 16:47, 1171 次点击
【求助】如何在label控件中获取access 成绩 表中 的整列记录的总和然后平均
只有本站会员才能查看附件,请 登录

如上图所示
在6个label控件中,分别获取所有学生的6科学科的总成绩名求平均数
请大侠指点一下啊
12 回复
#2
coucongzi2013-08-06 16:48
总成绩 并 求平均数
#3
coucongzi2013-08-06 16:54
如:语文 成绩总和并求平均数
然后 数学成绩总和并求平均数
#4
coucongzi2013-08-06 19:31
我使用sum()
但是不懂具体怎么样啊?
select sum(语文) as 语文 , sum(数学)as 数学 from 成绩
这样要想不对啊
我是新手,请大侠指点
#5
lowxiong2013-08-06 19:57
select avg(语文) as 语文,avg(数学) as 数学 from 成绩
#6
coucongzi2013-08-06 20:03
回复 5楼 lowxiong
avg()是不是求平均的呢?如果我获取语文整列记录的成绩总和,用sum()可以吗?
请问有没有具体的用法呢?就只要求获取整列记录的总和
谢谢你
#7
lowxiong2013-08-06 20:19
针对数值字段:sum求和,avg求平均值,count计数,max、min最大、最小值
好像就这些吧
#8
coucongzi2013-08-07 08:42
回复 7楼 lowxiong
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Private Sub Form_Load()
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "Data Source=" & App.Path & "\data.mdb" & " ;Jet OLEDB:Database password= coucongzi" ';Persist Security Info=False"
cn.Open
rs.CursorLocation = adUseClient
rs.Open "select * from 成绩", cn, adOpenDynamic, adLockPessimistic
Label1.Caption = Sum(rs.Fields("语文"))
Label2.Caption = Sum(rs.Fields("数学"))
rs.Close
cn.Close
End Sub

这样写可以吗?执行之后会有报错提示“子程序或函数未定义”,改如何修改呢?
#9
lowxiong2013-08-07 11:20
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Private Sub Form_Load()
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "Data Source=" & App.Path & "\data.mdb" & " ;Jet OLEDB:Database password= coucongzi" ';Persist Security Info=False"
cn.Open
rs.CursorLocation = adUseClient
rs.Open "select sum(语文) as 语文,sum(数学) as 数学 from 成绩", cn, adOpenDynamic, adLockPessimistic
Label1.Caption = rs.Fields("语文"))
Label2.Caption = rs.Fields("数学"))
rs.Close
cn.Close
#10
coucongzi2013-08-07 11:33
回复 9楼 lowxiong
你这样是可以了

但是在另一个实例中
rs.Open "select sum(1号) as 1号,sum(2号) as 2号,sum(3号) as 3号 from 数据表", cn, adOpenDynamic, adLockPessimistic

有报错“语法错误(操作符丢失)在查询表达式'sum(1号)'中”
请问这个该这么修改啊?
数据表中有“1号”“2号”“3号”三个字段
#11
lowxiong2013-08-07 13:41
'加方括号即可
rs.Open "select sum([1号]) as 1号,sum([2号]) as 2号,sum([3号]) as 3号 from 数据表", cn, adOpenDynamic, adLockPessimistic
#12
coucongzi2013-08-07 16:35
感谢了啊
可以了
#13
coucongzi2014-03-11 16:33
好的,谢谢
1