以文本方式查看主题

-  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=151237)

--  作者:天宇科技
--  发布时间:2020/6/18 16:07:00
--  为什么不计算

图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看

If e.DataCol.Name = "准考证号" Then \'如果内容发生变动的是品名列
    If e.DataRow.Isnull("报考学科") OrElse e.DataRow.Isnull("面试讲课") OrElse e.DataRow.Isnull("面试技能") Then
        e.DataRow("面试成绩") = Nothing \'那么清空此行单价列的内容
    Else
        Select Case e.DataRow("报考学科")
            Case "初中信息技术","初中体育","初中美术","初中音乐","小学信息技术","小学体育","小学美术","小学音乐"
                e.DataRow("面试成绩") =( e.DataRow("面试讲课") + e.DataRow("面试技能"))/2
            Case Else
                e.DataRow("面试成绩") =e.DataRow("面试讲课")
        End Select
    End If
End If
——————————————————————————————————————————————————
这段代码,为什么 当技能测试为 空时,e.DataRow("面试成绩") =e.DataRow("面试讲课")不计算。上图中,按条件,应该计算的 【面试讲课】= 【面试成绩】的呀

[此贴子已经被作者于2020/6/18 16:09:24编辑过]

--  作者:有点蓝
--  发布时间:2020/6/18 16:25:00
--  
去掉最外一层判断
   If e.DataRow.Isnull("报考学科") OrElse e.DataRow.Isnull("面试讲课") OrElse e.DataRow.Isnull("面试技能") Then
        e.DataRow("面试成绩") = Nothing \'那么清空此行单价列的内容
    Else
        Select Case e.DataRow("报考学科")
            Case "初中信息技术","初中体育","初中美术","初中音乐","小学信息技术","小学体育","小学美术","小学音乐"
                e.DataRow("面试成绩") =( e.DataRow("面试讲课") + e.DataRow("面试技能"))/2
            Case Else
                e.DataRow("面试成绩") =e.DataRow("面试讲课")
        End Select
    End If
--  作者:天宇科技
--  发布时间:2020/6/18 16:27:00
--  
能讲讲原因吗?我不太明白,代码是抄的帮助中的。
[此贴子已经被作者于2020/6/18 16:27:31编辑过]

--  作者:天宇科技
--  发布时间:2020/6/18 16:30:00
--  
还是没有计算
--  作者:天宇科技
--  发布时间:2020/6/18 16:32:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考调管理系统.foxdb

在成绩册里这个表。
[此贴子已经被作者于2020/6/18 16:32:12编辑过]

--  作者:有点蓝
--  发布时间:2020/6/18 16:37:00
--  
If e.DataCol.Name = "报考学科" OrElse e.DataCol.Name = "面试讲课" OrElse e.DataCol.Name = "面试技能"  Then
    If e.DataRow.Isnull("报考学科") OrElse e.DataRow.Isnull("面试讲课")  Then
        e.DataRow("面试成绩") = Nothing \'那么清空此行单价列的内容
    Else
        Select Case e.DataRow("报考学科")
            Case "初中信息技术","初中体育","初中美术","初中音乐","小学信息技术","小学体育","小学美术","小学音乐"
                e.DataRow("面试成绩") =( e.DataRow("面试讲课") + e.DataRow("面试技能"))/2
            Case Else
                e.DataRow("面试成绩") =e.DataRow("面试讲课")
        End Select
    End If
End If