以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- select case 疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114208) |
-- 作者:edisontsui -- 发布时间:2018/1/31 17:03:00 -- select case 疑问 Select Case e.Col.name Case "票号","制造产品号","总表确认","送货日期","送货单号","卡板号" 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 "票号","制造产品号","总表确认","送货日期","送货单号","卡板号" 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 为什么呢?谢谢。
|
-- 作者:有点甜 -- 发布时间:2018/1/31 17:14:00 -- select case 就是这样的。每次,只会匹配一次,不是所有满足的都匹配的。 |
-- 作者:edisontsui -- 发布时间: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 |
-- 作者:有点甜 -- 发布时间:2018/2/1 11:44:00 -- 只要你逻辑没问题那就没问题。这些select case是并列的,作用重复的。 |