以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  毕业问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=48733)

--  作者:aygp
--  发布时间:2014/4/3 21:01:00
--  毕业问题
     学生在学校考试,各门科目不及格可以多次补考,只要有一次补考等于或大于60分,“最终成绩”就为‘成绩合格’, 每次补考都小于60分, “最终成绩”就为‘成绩不合格’  ,相同的“学号”只要有一门成绩在 “最终成绩”中显示‘成绩不合格’ ,那么在“是否毕业” 中就标注为‘不予毕业’  , 相同的“学号”只 标注一次‘不予毕业’ , 相同的“学号”只要所有成绩在 “最终成绩”中显示‘成绩合格’ , 那么在“是否毕业” 中就标注为‘准予毕业’  , 相同的“学号”只 标注一次‘准予毕业’  。低于60分的数字全部显示为红色,  ‘成绩不合格’ , ‘不予毕业’ 都显示为红色。表A中已经录入了成绩,如何显示为表B的效果, 表B  中低于60分的数字要全部显示为红色,  ‘成绩不合格’ , ‘不予毕业’ 也都要显示为红色。(由于学院课程科目有上百个,所以只能用一个“科目”列来记录所有的科目)。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:毕业问题.rar


--  作者:y2287958
--  发布时间:2014/4/3 22:07:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:毕业问题.zip


--  作者: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
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:毕业问题.zip


--  作者: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
--