Foxtable(狐表)用户栏目专家坐堂 → select case 疑问


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

主题:select case 疑问

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
select case 疑问  发帖心情 Post By:2018/1/31 17:03:00 [只看该作者]

Select Case e.Col.name 
    Case "piao号","制造产品号","总表确认","送货日期","送货单号","卡板号"
        If e.Row("件数") > 0 
            e.Cancel = True
        End If
    Case "原料代号"
        If e.Row("重量公斤") > 0 
            e.Cancel = True
        End If
    Case  "制造产品号"
        If e.Row.IsNull("类型") = False
            e.Cancel = True
        End If
End Select

我有上面一段代码,其中"制造产品号"在第一个case和第三个case都出现过,所以第三个case的代码就不起作用了。

而如果我将第三个case改为如下所示单独一段代码,则能够起到作用。

Select Case e.Col.name 
    Case "piao号","制造产品号","总表确认","送货日期","送货单号","卡板号"
        If e.Row("件数") > 0 
            e.Cancel = True
        End If
    Case "原料代号"
        If e.Row("重量公斤") > 0 
            e.Cancel = True
        End If
End Select

If e.Col.name = "制造产品号"
    If e.Row.IsNull("类型") = False
        e.Cancel = True
    End If
End If

为什么呢?谢谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/31 17:14:00 [只看该作者]

select case 就是这样的。每次,只会匹配一次,不是所有满足的都匹配的。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/2/1 11:37:00 [只看该作者]

如果像下面那样,在一个事件里面出现多段select case 语句,是否有问题呢?


Select Case e.Col.name 
    Case "机台号","产品名称","模具名称","颜色","模腔数","周期时间"  
        e.Cancel = True
End Select

Select Case e.Col.name 
    Case "生产日期","注塑机型号","领班","开机人","指令单号","产品代号","当班指标","用料名称"
        If e.Row("生产产品数") > 0 
            e.Cancel = True
        End If
End Select 

Select Case e.Col.name 
    Case "不达标原因","改善方案","行动完成"
        If e.Row("达成率") >= 0.9 
            e.Cancel = True
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/1 11:44:00 [只看该作者]

只要你逻辑没问题那就没问题。这些select case是并列的,作用重复的。


 回到顶部