以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86866)

--  作者:陈卫
--  发布时间:2016/6/28 9:22:00
--  [求助]
请教专家,以下代码错在哪里?为什么当 "品种_特殊要求"= "加重杆"时,输出的结果还是"日生产能力_机加_车一般杆”的结果?
Case "品种_杆径","品种_长度"
        Dim dc As DataRow = e.DataRow
        Dim pc As DataRow
        Dim filter1 As String
        filter1 = "品种_杆径 = \'" & dc("品种_杆径") & "\' And 品种_长度 = \'" & dc("品种_长度") & "\'"
        pc = DataTables("工序能力表").Find(filter1)
        If pc IsNot Nothing Then
            If dc("品种_特殊要求") = "加重杆"
                dc("本工序_日生产能力_根") = pc("日生产能力_机加_车加重杆")
            Else
                dc("本工序_日生产能力_根") = pc("日生产能力_机加_车一般杆")
            End If
        End If


--  作者:大红袍
--  发布时间:2016/6/28 9:38:00
--  
        Dim dc As DataRow = e.DataRow
        Dim pc As DataRow
        Dim filter1 As String
        filter1 = "品种_杆径 = \'" & dc("品种_杆径") & "\' And 品种_长度 = \'" & dc("品种_长度") & "\'"
        pc = DataTables("工序能力表").Find(filter1)
        If pc IsNot Nothing Then
msgbox("ab" & dc("品种_特殊要求") & "cd")
            If dc("品种_特殊要求") = "加重杆"
msgbox(pc("日生产能力_机加_车加重杆"))
                dc("本工序_日生产能力_根") = pc("日生产能力_机加_车加重杆")
            Else
                dc("本工序_日生产能力_根") = pc("日生产能力_机加_车一般杆")
            End If
        End If

--  作者:陈卫
--  发布时间:2016/6/28 9:45:00
--  
加入msgbox后,每次增加一行都显示一次abcd,没有区别
--  作者:大红袍
--  发布时间:2016/6/28 9:46:00
--  
 那说明  dc("品种_特殊要求") 是空值啊。
--  作者:陈卫
--  发布时间:2016/6/28 9:53:00
--  
这是表中特殊要求一列的情况

图片点击可在新窗口打开查看此主题相关图片如下:未命名2.bmp
图片点击可在新窗口打开查看
特殊要求列不是空值啊!
[此贴子已经被作者于2016/6/28 10:15:37编辑过]

--  作者:大红袍
--  发布时间:2016/6/28 10:24:00
--  

 弹出的值,不可能有错。

 

 做个例子发上来测试。


--  作者:陈卫
--  发布时间:2016/6/28 10:55:00
--  
谢谢专家,我找到问题了,在Case "品种_杆径","品种_长度"代码中加上“品种_特殊要求”,就可以了。如下:
Case "品种_杆径","品种_长度",“品种_特殊要求”