Foxtable(狐表)用户栏目专家坐堂 → 关于结果判定的问题


  共有1649人关注过本帖树形打印复制链接

主题:关于结果判定的问题

帅哥哟,离线,有人找我吗?
benwong2013
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:4075 威望:0 精华:0 注册:2015/12/16 8:22:00
关于结果判定的问题  发帖心情 Post By:2016/12/23 10:42:00 [只看该作者]

Select Case e.DataCol.name
    Case "判定标准要求", "结果"
        Dim str As String = e.DataRow("判定标准要求")
        If str = Nothing OrElse e.DataRow.IsNull("结果") Then
            e.DataRow("判定") = Nothing
        Else
            Dim tx As String = e.DataRow("结果").SubString(0,1)
            If tx = "未" OrElse tx = "符" OrElse tx = "备" OrElse tx = "<" Then
                e.DataRow("判定") = "合格"
            Else
                Dim fhs() As String = {">", "=", "<"}
                Dim ary() As String
                For Each f As String In fhs
                    If str.Indexof(f) Then
                        If str.IndexOf("x") >= 0 Then
                            ary = str.split("x")
                        Else
                            ary = new String() {str}
                        End If
                        str = "合格"
                        For Each s As String In ary
                            Dim flag = False
                            For Each fh As String In fhs
                                If s.IndexOf(fh) = s.Length-1 Then
                                    flag = True
                                End If
                            Next
                            Dim ns As String = iif(flag=True, s & e.DataRow("结果"), e.DataRow("结果") & s)
                            Functions.remove("函数")
                            Dim Code As String
                            Code = "return " & ns
                            Functions.Add("函数",Code)
                            Functions.Complie()
                            Dim result = Functions.Execute("函数")
                            If result = False Then
                                str = "不合格"
                            End If
                        Next
                        e.DataRow("判定") = str
                        Exit For
                    End If
                Next
            End If
        End If
End Select

1.若结果栏中输入带有”未“,”符“,”备“,或”<"开头的字符时,自动判定为合格,
2.若是输入数字的话,会用以下函数进行判定;
但若输入均不符合以上的时候,允许输入,但判定栏为空,请问应该如何修改;

上面的代码在运行的时候,若文字不是满足1的话,会出现错误;

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/23 11:39:00 [只看该作者]

提示什么错误?

这个光看代码看不出什么问题,要测试才知道,上例子看看


Select Case e.DataCol.name
    Case "判定标准要求", "结果"
        If e.DataRow.IsNull("判定标准要求") OrElse e.DataRow.IsNull("结果") Then
            e.DataRow("判定") = Nothing
        Else
            Dim str As String = e.DataRow("判定标准要求")
......

 回到顶部
帅哥哟,离线,有人找我吗?
benwong2013
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:4075 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/12/23 12:00:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


请在结果那栏填写就会出现异常了

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/23 12:47:00 [只看该作者]

填写什么? 出现什么异常?
如果是结果错误,就是你设计逻辑问题。
设计逻辑问题,自己调试分析是最合适的,因为别人不懂你的设计思路。

 回到顶部