以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 毕业问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48733) |
||||
-- 作者:aygp -- 发布时间:2014/4/3 21:01:00 -- 毕业问题 学生在学校考试,各门科目不及格可以多次补考,只要有一次补考等于或大于60分,“最终成绩”就为‘成绩合格’, 每次补考都小于60分, “最终成绩”就为‘成绩不合格’ ,相同的“学号”只要有一门成绩在 “最终成绩”中显示‘成绩不合格’ ,那么在“是否毕业” 中就标注为‘不予毕业’ , 相同的“学号”只 标注一次‘不予毕业’ , 相同的“学号”只要所有成绩在 “最终成绩”中显示‘成绩合格’ , 那么在“是否毕业” 中就标注为‘准予毕业’ , 相同的“学号”只 标注一次‘准予毕业’ 。低于60分的数字全部显示为红色, ‘成绩不合格’ , ‘不予毕业’ 都显示为红色。表A中已经录入了成绩,如何显示为表B的效果, 表B 中低于60分的数字要全部显示为红色, ‘成绩不合格’ , ‘不予毕业’ 也都要显示为红色。(由于学院课程科目有上百个,所以只能用一个“科目”列来记录所有的科目)。
|
||||
-- 作者:y2287958 -- 发布时间:2014/4/3 22:07:00 --
|
||||
-- 作者:aygp -- 发布时间:2014/4/3 22:42:00 -- y2287958老师,“可否毕业”有问题,修改了“补考3”分数为60分以上, “可否毕业”没有变化。删除了 “可否毕业”数据,也不能再生成相应数据。 |
||||
-- 作者:aygp -- 发布时间:2014/4/3 22:50:00 -- 另外,一个学生要毕业,一般要考15门课程科目,例子中只有3门科目。不能只考虑3门课程科目。 |
||||
-- 作者:aygp -- 发布时间:2014/4/3 22:52:00 -- 还有一个地方要考虑,不能用姓名,因为姓名有重名问题,要用学号。 |
||||
-- 作者:y2287958 -- 发布时间:2014/4/3 23:05:00 --
|
||||
-- 作者:aygp -- 发布时间:2014/4/3 23:27:00 -- 谢谢y2287958老师!请再完美一下,最好把‘不予毕业’放到其中一个‘不及格’后面。这样效果更好些。 |
||||
-- 作者:y2287958 -- 发布时间:2014/4/3 23:48:00 -- Select Case e.DataCol.Name Case "学号","成绩","补考1","补考2","补考3" Dim dr As DataRow dr = e.DataTable.Find("学号=\'" & e.DataRow("学号") & "\' and 最终成绩=\'不及格\'") If dr IsNot Nothing dr("可否毕业") = "不予毕业" Else dr = e.DataTable.Find("学号=\'" & e.DataRow("学号") & "\'") dr("可否毕业") = "准予毕业" End If End Select 改成这样吧,更简单。
|
||||
-- 作者:aygp -- 发布时间:2014/4/4 13:29:00 -- 8楼的代码在运行时“可否毕业”列的‘准予毕业’加‘不予毕业’数超过了14(例子中一共只有14人)用6楼的代码也可以。非常感谢 y2287958老师。 |
||||
-- 作者:黄训良 -- 发布时间:2014/4/4 15:04:00 -- 好 |