以文本方式查看主题

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

--  作者:yangjing
--  发布时间:2017/5/24 22:53:00
--  请问下这代码为何报错呢?
表结构如下

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

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

代码


If e.DataCol.name = "五十米跑值"
    If e.DataRow("五十米跑值") < 0  OrElse e.DataRow("五十米跑值") > 10
        MessageBox.show("对不起,实测数据不合法,请重新输入!")
        e.DataRow("五十米跑值") = Nothing
        Return
    End If
End If
If e.DataCol.name = "年级" OrElse e.DataCol.name = "性别" OrElse  e.DataCol.name = "五十米跑值" Then
    If e.DataRow.isnull("年级") = False And e.DataRow.isnull("性别") = False And e.DataRow.isnull("五十米跑值") = False Then
        Dim dr As DataRow = DataTables("五十米跑标准").find("年级 =\'" & e.DataRow("年级") & "\' and 性别 =\'" & e.DataRow("性别") & "\' and 下限 <= " & e.DataRow("五十米跑值") & " and 上限 >= " & e.DataRow("五十米跑值"))
        If dr IsNot Nothing
            e.DataRow("五十米跑等级") =  dr("五十米跑等级")
            e.DataRow("五十米跑分数") =  dr("五十米跑分数")
        End If
    End If
End If


报错

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

而且计算记过也不对

输入7.1不报错,但是算的结果不对



--  作者:有点色
--  发布时间:2017/5/24 23:08:00
--  
 你把表【五十米跑标准】的上限、下限列,改成数值列就行了,不能用字符列。
--  作者:yangjing
--  发布时间:2017/5/24 23:26:00
--  
原来如此,谢谢