Foxtable(狐表)用户栏目专家坐堂 → [求助]编码问题


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

主题:[求助]编码问题

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
[求助]编码问题  发帖心情 Post By:2016/6/15 16:45:00 [只看该作者]

请教专家:下面的编码,为什么蓝色部分不执行?怎样修改?
Select Case e.DataCol.Name
    Case "本工序_投产日期","本工序_交付日期"
        If e.DataRow.IsNull("本工序_投产日期") OrElse e.DataRow.IsNull("本工序_交付日期") Then
            e.DataRow("安排生产天数_天")=Nothing
        Else
            Dim tp As TimeSpan = e.DataRow("本工序_交付日期") - e.DataRow("本工序_投产日期")
            e.DataRow("安排生产天数_天")=tp.TotalDays+1
        End If
        
    Case "序号"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow = DataTables("拉动排产计划_浸漆").Find("序号 = '" & dr("序号") & "'")
        If pr IsNot Nothing  And pr("品种_特殊要求") IsNot Nothing  Then
            dr("合同编号") = pr("合同编号")
            dr("品种_杆径") = pr("品种_杆径")
            dr("品种_材质") = pr("品种_材质")
            dr("品种_长度") = pr("品种_长度")
            dr("品种_级别") = pr("品种_级别")
            dr("品种_接箍") = pr("品种_接箍")
            dr("品种_特殊要求") = pr("品种_特殊要求")
            dr("品种_ID") = pr("品种_ID")
            dr("贸易性质_内贸") = pr("贸易性质_内贸")
            dr("贸易性质_外贸") = pr("贸易性质_外贸")
            dr("浸漆工序_需要数量_根")= pr("本工序_投产数量_根")
            dr("浸漆工序_需要日期")= pr("本工序_交付日期")
        Else
            Dim qr As DataRow =  DataTables("内部合同").Find("序号 = '" & dr("序号") & "'")
            qr("合同编号") = pr("合同编号")
            qr("品种_杆径") = pr("品种_杆径")
            qr("品种_材质") = pr("品种_材质")
            qr("品种_长度") = pr("品种_长度")
            qr("品种_级别") = pr("品种_级别")
            qr("品种_接箍") = pr("品种_接箍")
            qr("品种_特殊要求") = pr("品种_特殊要求")
            qr("品种_ID") = pr("品种_ID")
            qr("贸易性质_内贸") = pr("贸易性质_内贸")
            qr("贸易性质_外贸") = pr("贸易性质_外贸")
            qr("交付数量_根")= pr("本工序_投产数量_根")
            qr("交付日期")= pr("本工序_交付日期")     
        End If
    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
            dc("本工序_日生产能力_根") = pc("日生产能力_包装")
        End If
End Select

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


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

Select Case e.DataCol.Name
    Case "本工序_投产日期","本工序_交付日期"
        If e.DataRow.IsNull("本工序_投产日期") OrElse e.DataRow.IsNull("本工序_交付日期") Then
            e.DataRow("安排生产天数_天")=Nothing
        Else
            Dim tp As TimeSpan = e.DataRow("本工序_交付日期") - e.DataRow("本工序_投产日期")
            e.DataRow("安排生产天数_天")=tp.TotalDays+1
        End If
       
    Case "序号"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow = DataTables("拉动排产计划_浸漆").Find("序号 = '" & dr("序号") & "'")
        If pr IsNot Nothing
            If pr.IsNUll("品种_特殊要求") = False  Then
                dr("合同编号") = pr("合同编号")
                dr("品种_杆径") = pr("品种_杆径")
                dr("品种_材质") = pr("品种_材质")
                dr("品种_长度") = pr("品种_长度")
                dr("品种_级别") = pr("品种_级别")
                dr("品种_接箍") = pr("品种_接箍")
                dr("品种_特殊要求") = pr("品种_特殊要求")
                dr("品种_ID") = pr("品种_ID")
                dr("贸易性质_内贸") = pr("贸易性质_内贸")
                dr("贸易性质_外贸") = pr("贸易性质_外贸")
                dr("浸漆工序_需要数量_根")= pr("本工序_投产数量_根")
                dr("浸漆工序_需要日期")= pr("本工序_交付日期")
            Else
                Dim qr As DataRow =  DataTables("内部合同").Find("序号 = '" & dr("序号") & "'")
                qr("合同编号") = pr("合同编号")
                qr("品种_杆径") = pr("品种_杆径")
                qr("品种_材质") = pr("品种_材质")
                qr("品种_长度") = pr("品种_长度")
                qr("品种_级别") = pr("品种_级别")
                qr("品种_接箍") = pr("品种_接箍")
                qr("品种_特殊要求") = pr("品种_特殊要求")
                qr("品种_ID") = pr("品种_ID")
                qr("贸易性质_内贸") = pr("贸易性质_内贸")
                qr("贸易性质_外贸") = pr("贸易性质_外贸")
                qr("交付数量_根")= pr("本工序_投产数量_根")
                qr("交付日期")= pr("本工序_交付日期")
            End If
        End If
    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
            dc("本工序_日生产能力_根") = pc("日生产能力_包装")
        End If
End Select

 


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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/15 17:17:00 [只看该作者]

专家您好,我按照您的编码也没有实现蓝色部分的操作,绿色字体内容是我的思路,对不对?

Select Case e.DataCol.Name

    Case "本工序_投产日期","本工序_交付日期"
        If e.DataRow.IsNull("本工序_投产日期") OrElse e.DataRow.IsNull("本工序_交付日期") Then
            e.DataRow("安排生产天数_天")=Nothing
        Else
            Dim tp As TimeSpan = e.DataRow("本工序_交付日期") - e.DataRow("本工序_投产日期")
            e.DataRow("安排生产天数_天")=tp.TotalDays+1
        End If
        
    Case "序号"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow = DataTables("拉动排产计划_浸漆").Find("序号 = '" & dr("序号") & "'")   在“拉动排产计划_浸漆”表中找到“序号”同当前表中一样的序号
        If pr IsNot Nothing              判断“序号”不空
            If pr.IsNUll("合同编号") = False  Then    判断“合同编号不空,则
                dr("合同编号") = pr("合同编号")
                dr("品种_杆径") = pr("品种_杆径")
                dr("品种_材质") = pr("品种_材质")
                dr("品种_长度") = pr("品种_长度")
                dr("品种_级别") = pr("品种_级别")
                dr("品种_接箍") = pr("品种_接箍")
                dr("品种_特殊要求") = pr("品种_特殊要求")
                dr("品种_ID") = pr("品种_ID")
                dr("贸易性质_内贸") = pr("贸易性质_内贸")
                dr("贸易性质_外贸") = pr("贸易性质_外贸")
                dr("浸漆工序_需要数量_根")= pr("本工序_投产数量_根")
                dr("浸漆工序_需要日期")= pr("本工序_交付日期")
            Else      如果“合同编号”是空值,则
                Dim qr As DataRow =  DataTables("内部合同").Find("序号 = '" & dr("序号") & "'")     "内部合同"表中找到“序号”同当前表中一样的序号”,将"内部合同"表中下列列的数值赋给当前表
                qr("合同编号") = pr("合同编号")
                qr("品种_杆径") = pr("品种_杆径")
                qr("品种_材质") = pr("品种_材质")
                qr("品种_长度") = pr("品种_长度")
                qr("品种_级别") = pr("品种_级别")
                qr("品种_接箍") = pr("品种_接箍")
                qr("品种_特殊要求") = pr("品种_特殊要求")
                qr("品种_ID") = pr("品种_ID")
                qr("贸易性质_内贸") = pr("贸易性质_内贸")
                qr("贸易性质_外贸") = pr("贸易性质_外贸")
                qr("交付数量_根")= pr("本工序_投产数量_根")
                qr("交付日期")= pr("本工序_交付日期")
            End If

        End If
    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
            dc("本工序_日生产能力_根") = pc("日生产能力_包装")
        End If
End Select

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


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

Select Case e.DataCol.Name
    Case "本工序_投产日期","本工序_交付日期"
        If e.DataRow.IsNull("本工序_投产日期") OrElse e.DataRow.IsNull("本工序_交付日期") Then
            e.DataRow("安排生产天数_天")=Nothing
        Else
            Dim tp As TimeSpan = e.DataRow("本工序_交付日期") - e.DataRow("本工序_投产日期")
            e.DataRow("安排生产天数_天")=tp.TotalDays+1
        End If
       
    Case "序号"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow = DataTables("拉动排产计划_浸漆").Find("序号 = '" & dr("序号") & "'")
        If pr IsNot Nothing  And pr("品种_特殊要求") IsNot Nothing  Then
            dr("合同编号") = pr("合同编号")
            dr("品种_杆径") = pr("品种_杆径")
            dr("品种_材质") = pr("品种_材质")
            dr("品种_长度") = pr("品种_长度")
            dr("品种_级别") = pr("品种_级别")
            dr("品种_接箍") = pr("品种_接箍")
            dr("品种_特殊要求") = pr("品种_特殊要求")
            dr("品种_ID") = pr("品种_ID")
            dr("贸易性质_内贸") = pr("贸易性质_内贸")
            dr("贸易性质_外贸") = pr("贸易性质_外贸")
            dr("浸漆工序_需要数量_根")= pr("本工序_投产数量_根")
            dr("浸漆工序_需要日期")= pr("本工序_交付日期")
        Else
            pr =  DataTables("内部合同").Find("序号 = '" & dr("序号") & "'")
            dr("合同编号") = pr("合同编号")
            dr("品种_杆径") = pr("品种_杆径")
            dr("品种_材质") = pr("品种_材质")
            dr("品种_长度") = pr("品种_长度")
            dr("品种_级别") = pr("品种_级别")
            dr("品种_接箍") = pr("品种_接箍")
            dr("品种_特殊要求") = pr("品种_特殊要求")
            dr("品种_ID") = pr("品种_ID")
            dr("贸易性质_内贸") = pr("贸易性质_内贸")
            dr("贸易性质_外贸") = pr("贸易性质_外贸")
            dr("交付数量_根")= pr("本工序_投产数量_根")
            dr("交付日期")= pr("本工序_交付日期")    
        End If
    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
            dc("本工序_日生产能力_根") = pc("日生产能力_包装")
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/15 17:37:00 [只看该作者]

我把您的编码整体拷贝过去,还是不执行蓝色内容

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/15 17:50:00 [只看该作者]

谢谢专家,把2楼和4楼结合起来,问题解决了图片点击可在新窗口打开查看

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


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

你的条件是

 

If pr IsNot Nothing  And pr("品种_特殊要求") IsNot Nothing  Then

 

只要查不到 pr 或者 pr的 品种_特殊要求 列是空值的时候,才会执行蓝色的代码


 回到顶部