以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  提示:应为语句结束  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151157)

--  作者:天宇科技
--  发布时间:2020/6/16 17:15:00
--  提示:应为语句结束
If e.DataCol.Name = "报考学科" Or e.DataCol.Name = "面试讲课" Or e.DataCol.Name = "面试技能" Then \'如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
        e.DataRow("面试成绩") = Nothing \'那么清空此行单价列的内容
    Else
        If e.DataRow("报考学科") In (\'计算机\',\'体育\',\'美术\',\'音乐\') Then
            e.DataRow("面试成绩") =( e.DataRow("面试讲课") + e.DataRow("面试技能"))/2
        Else
            e.DataRow("面试成绩") =e.DataRow("面试讲课")
        End If
    End If
End If

提示:
编译错误:应为语句结束。
       If e.DataRow("报考学科") In (\'计算机\',\'体育\',\'美术\',\'音乐\') Then
这句错在哪儿?
[此贴子已经被作者于2020/6/16 17:15:31编辑过]

--  作者:BG小白
--  发布时间:2020/6/16 17:17:00
--  
If e.DataCol.Name = "报考学科" Or e.DataCol.Name = "面试讲课" Or e.DataCol.Name = "面试技能" Then \'如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
        e.DataRow("面试成绩") = Nothing \'那么清空此行单价列的内容
          End If
        If e.DataRow("报考学科") In (\'计算机\',\'体育\',\'美术\',\'音乐\') Then
            e.DataRow("面试成绩") =( e.DataRow("面试讲课") + e.DataRow("面试技能"))/2
        Else
            e.DataRow("面试成绩") =e.DataRow("面试讲课")
    End If
End If

这样试试,应该是        End If位置没有对
[此贴子已经被作者于2020/6/16 17:20:39编辑过]

--  作者:天宇科技
--  发布时间:2020/6/16 17:24:00
--  
还是报错
--  作者:有点蓝
--  发布时间:2020/6/16 17:26:00
--  
If e.DataCol.Name = "报考学科" Or e.DataCol.Name = "面试讲课" Or 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