以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]编码问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=86342) |
-- 作者:陈卫 -- 发布时间: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 |
-- 作者:大红袍 -- 发布时间:2016/6/15 16:49:00 -- Select Case e.DataCol.Name
|
-- 作者:陈卫 -- 发布时间:2016/6/15 17:17:00 -- 专家您好,我按照您的编码也没有实现蓝色部分的操作,绿色字体内容是我的思路,对不对? 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 |
-- 作者:大红袍 -- 发布时间: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 |
-- 作者:陈卫 -- 发布时间:2016/6/15 17:37:00 -- 我把您的编码整体拷贝过去,还是不执行蓝色内容 |
-- 作者:陈卫 -- 发布时间:2016/6/15 17:50:00 -- 谢谢专家,把2楼和4楼结合起来,问题解决了 ![]() |
-- 作者:大红袍 -- 发布时间:2016/6/15 17:50:00 -- 你的条件是
If pr IsNot Nothing And pr("品种_特殊要求") IsNot Nothing Then
只要查不到 pr 或者 pr的 品种_特殊要求 列是空值的时候,才会执行蓝色的代码 |