主题:关于两个组合框问题的求助
yakuyayes
[专家分:0] 发布于 2009-08-18 10:22:00
请各位帮帮忙。
我想在一个表单里,有两个组合框,一个是选择班级的,另一个是选择课程的。有四个text分别显示选课学生的人数,最高分,最低分,平均分。我的目的是先选择班级,再选择课程,然后分别统计每班每们课的选课学生的人数,最高分,最低分,平均分。
数据库表在附件那里。
最后更新于:2009-08-18 10:26:00
回复列表 (共9个回复)
沙发
homayzh [专家分:7040] 发布于 2009-08-18 10:44:00
你不会求最大,最小,平均值??我给你写完吧,
conbo1.RowSourceType = 6
.RowSource = 表.班级
combo2.rowsourcetype = 6
.rowsource = 表.课程
command1.click
if empty(thisform.combo1.value) or empty(thisform.combo2.value)
messaegbox("选择班级或课程,不能为空")
retu
endif
sele 表
set filter to allt(表.班级)==allt(thisform.combo1.value) and allt(表.课程)= allt(thisform.combo2.value)
COUNT TO thisform.text1.value &&人数
AVERAGE 成绩 TO thisform.text2.value && 保存平均值
INDEX on 成绩 TO sy_temp &&接成绩索引
GO TOP &&第一条记录
thisform.text3.value = 成绩 &&最小成绩
GO BOTTOM &&最后一条记录
thisform.text4.value = 成绩 &&最大成绩
板凳
homayzh [专家分:7040] 发布于 2009-08-18 10:48:00
我认为你的表应该把各科成绩变成字段,这样比较好操作,
如
学号 姓名 班级 微机分 会计 管理学 数据库 财务管理
001 杨志鸿 一班 85 65 72 60 76
......
.....
3 楼
yakuyayes [专家分:0] 发布于 2009-08-18 11:03:00
为什么改成字段会比较好啊?
4 楼
yakuyayes [专家分:0] 发布于 2009-08-18 11:04:00
conbo1.RowSourceType = 6
.RowSource = 表.班级
combo2.rowsourcetype = 6
.rowsource = 表.课程
我按你这样设计,可是运行时有很多重复的值。
5 楼
homayzh [专家分:7040] 发布于 2009-08-18 11:08:00
想法子去掉重复值啊
自己想办法 ,办法 不只一个。
可以用索引,也可以用变量,
6 楼
homayzh [专家分:7040] 发布于 2009-08-18 11:33:00
给你说一种 方法吧
把改为1
combo1.rowsourcetype = 1
在表单的init里输入, 以下,就可以去掉重复的啦,
SELECT 表
GO TOP
thisform.combO1.RowSource = ALLTRIM(表.班级)
SCAN
IF AT(ALLTRIM(表.班级),thisform.comBO1.RowSource)=0
thisform.combO1.RowSource = thisform.combO1.RowSource + ','+ALLTRIM(表.班级)
ENDIF
ENDSCAN
7 楼
yakuyayes [专家分:0] 发布于 2009-08-18 11:37:00
messaegbox("选择班级或课程,不能为空")
这句好像运行不了,说messagebox.prg不存在
8 楼
homayzh [专家分:7040] 发布于 2009-08-18 11:44:00
我写的时候写错了吧
应该是
messagebox("选择班级或课程,不能为空")
你没有用过messagebox()
函数???
9 楼
homayzh [专家分:7040] 发布于 2009-08-18 11:45:00
这样吧,你加我QQ吧,我帮你解决
147215461
我来回复