以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  用易表做的一个学生成绩统计分析程序  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=27195)

--  作者:hbfnmxb
--  发布时间:2014/5/21 14:23:00
--  用易表做的一个学生成绩统计分析程序
首先感谢各位前辈的帮助,在各位前辈的帮助下,经过几年的时间不断完善而成。
其次是本软件的的小功能:可以计算班级排名、年级排名、可以导入EXCEL表,可以按人数统计各班成绩,(可以统计每班N人的平均分、及格率、优秀率),也可以计算全员人数的平均分、及格率、优秀率,还可以计算教师个人的平均分、及格率、优秀率,还可以导入学籍等。大家试用着体会吧。在这里不多说了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:01七年级第二学期期中成绩2014.5.part1.rar
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:01七年级第二学期期中成绩2014.5.part2.rar



--  作者:dancedy
--  发布时间:2014/5/21 14:32:00
--  
先顶一个图片点击可在新窗口打开查看
--  作者:lyjzyq
--  发布时间:2014/5/21 16:02:00
--  
顶一个
--  作者:不同凡响8
--  发布时间:2016/9/29 11:24:00
--  

感谢楼主的分享,今天试着修改了一下,想把“统计前N名”通过按钮“前N汇总”按要求统计到“前N名汇总”进行数据分析中,统计结果如“前N名汇总”表中的那样,

比如:我统计了前10名,现在我想知道哪些学生有几科进入了前10名。

有办法解决吗,请指教

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:前n名统计.egd

[此贴子已经被作者于2016/9/29 11:25:59编辑过]

--  作者:不同凡响8
--  发布时间:2016/9/29 15:43:00
--  
以下是引用不同凡响8在2016/9/29 11:24:00的发言:

感谢楼主的分享,今天试着修改了一下,想把“统计前N名”通过按钮“前N汇总”按要求统计到“前N名汇总”进行数据分析中,统计结果如“前N名汇总”表中的那样,

比如:我统计了前10名,现在我想知道哪些学生有几科进入了前10名。

有办法解决吗,请指教

 下载信息  [文件大小:183.4 KB  下载次数:5]
图片点击可在新窗口打开查看点击浏览该文件:前n名统计.egd
有[此贴子已经被作者于2016/9/29 11:25:59编辑过]
认真研究,成效不明显呀

[此贴子已经被作者于2016/9/29 15:44:00编辑过]

--  作者:dancedy
--  发布时间:2016/9/29 15:59:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计.egd


--  作者:abcdzabcdz
--  发布时间:2016/9/29 16:00:00
--  
可新建一表,使用appendfor命令即可解决:

Appendfor

将其他表中符合条件的行追加到当前表中。

语法:
AppendFor(Grid, FromCols, ToCols,CompareCol,CompareMode,CompareValue, ...)
Grid         来源表,可以用表名,也可以用表位置表示
FromCols     来源列,如果有多列,可以逗号隔开,例如“编号,单价”
ToCols       目标列,必须是当前表中的列,如果有多列,可以逗号隔开,例如“编号,单价”
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值

可以设置多个比较条件,从第四个参数开始,每三个参数组成一个比较条件。如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。


例子:
AppendFor("A","甲,乙","丙,丁","戊","=","1")
将A表中甲、乙两列的内容复制到当前表的丙、丁两列,条件是A表戊列等于1的记录。

AppendFor("还款表","姓名,金额",“姓名,金额”,"结账","=","-1")
将还款表中已结帐记录的姓名、金额两列数据复制到当前表的姓名、金额两列中。


--  作者:不同凡响8
--  发布时间:2016/9/29 16:19:00
--  
以下是引用dancedy在2016/9/29 15:59:00的发言:
 下载信息  [文件大小:183.7 KB  下载次数:3]
图片点击可在新窗口打开查看点击浏览该文件:统计.egd
谢谢指导
测试了一下,除了总分列以外其他项可以正常统计,这样修改

ClearGrid("优秀汇总") And Eval("CopyFor(""优秀汇总"",""班别,姓名"",""" + Substitute(Substitute(Eval("Substitute(""|@|"",""|"",""" + Substitute("语文|数学|英语|物理|化学|政治|历史|生物|地理|体育|总分","|",""") + ""|"" + Substitute(""|@|"",""|"",""") + """)"),"@","_班级,"),"|","_姓名"") And CopyFor(""优秀汇总"",""班别,姓名"",""") + "_姓名"")") And DelReptRows("优秀汇总","班别","姓名") And DelFor("优秀汇总","班别"," = ","") And SortCol("优秀汇总","班别",1) And RecalcGrid("优秀汇总",1)

这样修改后总分列还是不能统计原因在哪,麻烦指点一下

[此贴子已经被作者于2016/9/29 16:40:01编辑过]

--  作者:不同凡响8
--  发布时间:2016/9/29 16:20:00
--  
以下是引用abcdzabcdz在2016/9/29 16:00:00的发言:
可新建一表,使用appendfor命令即可解决:

Appendfor

将其他表中符合条件的行追加到当前表中。

语法:
AppendFor(Grid, FromCols, ToCols,CompareCol,CompareMode,CompareValue, ...)
Grid         来源表,可以用表名,也可以用表位置表示
FromCols     来源列,如果有多列,可以逗号隔开,例如“编号,单价”
ToCols       目标列,必须是当前表中的列,如果有多列,可以逗号隔开,例如“编号,单价”
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值

可以设置多个比较条件,从第四个参数开始,每三个参数组成一个比较条件。如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。


例子:
AppendFor("A","甲,乙","丙,丁","戊","=","1")
将A表中甲、乙两列的内容复制到当前表的丙、丁两列,条件是A表戊列等于1的记录。

AppendFor("还款表","姓名,金额",“姓名,金额”,"结账","=","-1")
将还款表中已结帐记录的姓名、金额两列数据复制到当前表的姓名、金额两列中。



解释很详尽了,但一时半会理解不了,,还要多学习学习才行,谢谢


--  作者:不同凡响8
--  发布时间:2016/9/29 16:42:00
--  
以下是引用dancedy在2016/9/29 15:59:00的发言:
 下载信息  [文件大小:183.7 KB  下载次数:9]
图片点击可在新窗口打开查看点击浏览该文件:统计.egd
总分列没有统计出结果
这样修改代码也不行,不知道原因是什么,请指点

ClearGrid("优秀汇总") And Eval("CopyFor(""优秀汇总"",""班别,姓名"",""" + Substitute(Substitute(Eval("Substitute(""|@|"",""|"",""" + Substitute("语文|数学|英语|物理|化学|政治|历史|生物|地理|体育|总分","|",""") + ""|"" + Substitute(""|@|"",""|"",""") + """)"),"@","_班级,"),"|","_姓名"") And CopyFor(""优秀汇总"",""班别,姓名"",""") + "_姓名"")") And DelReptRows("优秀汇总","班别","姓名") And DelFor("优秀汇总","班别"," = ","") And SortCol("优秀汇总","班别",1) And RecalcGrid("优秀汇总",1)


看懂了,原来总分列没有设置刷新公式,再次谢谢

[此贴子已经被作者于2016/9/29 16:46:32编辑过]