Foxtable(狐表)用户栏目专家坐堂 → 求助:冲突如何识别


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

主题:求助:冲突如何识别

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


加好友 发短信
等级:婴狐 帖子:72 积分:615 威望:0 精华:0 注册:2014/11/18 20:13:00
求助:冲突如何识别  发帖心情 Post By:2016/1/22 14:26:00 [只看该作者]

想根据商品编号规律来确定单捆数,一般是先判断壁厚,再判断外径,代码如下:

 

但是现在碰到一个异常是:如果壁厚两个有冲突,取最小的数据应该怎么修改代码

例如:商品编号:W61006000400CF  如果用壁厚判断,单捆数取5,如果用外径判断,单捆数取3

         实际要求是:3,请求解惑

 

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow

Select Case dc.Name
    Case "商品编号" ,"单捆数"
        If (dr("商品编号") Like "W*" Or dr("商品编号") Like "Y*") Then
            If dr("订单数量") <> Nothing And dr("单捆数") = Nothing Then   '根据壁厚判断单捆数
                If mid(dr("商品编号"),9,4) >= 0900 Then
                    dr("单捆数") = 2
                ElseIf mid(dr("商品编号"),9,4) >= 0500 Then
                    dr("单捆数") = 3
                ElseIf mid(dr("商品编号"),9,4) >= 0300 Then
                    dr("单捆数") = 5
                End If
            End If

            If dr("订单数量") <> Nothing And dr("单捆数") = Nothing Then    '根据外径判断单捆数
                If mid(dr("商品编号"),5,4) >= 0710 Then
                    dr("单捆数") = 2
                ElseIf mid(dr("商品编号"),5,4) >= 0590 Then
                    dr("单捆数") = 3
                ElseIf mid(dr("商品编号"),5,4) >= 0530 Then
                    dr("单捆数") = 4
                ElseIf mid(dr("商品编号"),5,4) >= 0430 Then
                    dr("单捆数") = 5
                ElseIf mid(dr("商品编号"),5,4) >= 0270 Then
                    dr("单捆数") = 6
                ElseIf mid(dr("商品编号"),5,4) >= 0190 Then
                    dr("单捆数") = 8
                ElseIf mid(dr("商品编号"),5,4) < 0190 Then
                    dr("单捆数") = 10
                End If
            End If
        End If
End Select


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


加好友 发短信
等级:婴狐 帖子:72 积分:615 威望:0 精华:0 注册:2014/11/18 20:13:00
  发帖心情 Post By:2016/1/22 14:42:00 [只看该作者]

在线等。。。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/22 14:44:00 [只看该作者]

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow

Select Case dc.Name
    Case "商品编号" ,"单捆数"
        If (dr("商品编号") Like "W*" Or dr("商品编号") Like "Y*") Then
            Dim a As Integer = Nothing
            Dim b As Integer = Nothing
            If dr("订单数量") <> Nothing And dr("单捆数") = Nothing Then   '根据壁厚判断单捆数
                If mid(dr("商品编号"),9,4) >= 0900 Then
                    a = 2
                ElseIf mid(dr("商品编号"),9,4) >= 0500 Then
                    a = 3
                ElseIf mid(dr("商品编号"),9,4) >= 0300 Then
                    a = 5
                End If
            End If
           
            If dr("订单数量") <> Nothing And dr("单捆数") = Nothing Then    '根据外径判断单捆数
                If mid(dr("商品编号"),5,4) >= 0710 Then
                    b = 2
                ElseIf mid(dr("商品编号"),5,4) >= 0590 Then
                    b = 3
                ElseIf mid(dr("商品编号"),5,4) >= 0530 Then
                    b = 4
                ElseIf mid(dr("商品编号"),5,4) >= 0430 Then
                    b = 5
                ElseIf mid(dr("商品编号"),5,4) >= 0270 Then
                    b = 6
                ElseIf mid(dr("商品编号"),5,4) >= 0190 Then
                    b = 8
                ElseIf mid(dr("商品编号"),5,4) < 0190 Then
                    b = 10
                End If
            End If
            If a > 0 AndAlso b > 0 Then
                a = iif(b<a, b, a)
            ElseIf b > 0 Then
                a = b
            ElseIf a = 0 Then
                a = Nothing
            End If
            dr("单捆数") = a
        End If
End Select

 


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


加好友 发短信
等级:婴狐 帖子:72 积分:615 威望:0 精华:0 注册:2014/11/18 20:13:00
  发帖心情 Post By:2016/1/22 14:48:00 [只看该作者]

多谢老师,赶紧回去试试

 回到顶部