以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何统计子表的生产周期天数+交表的下单日期=部门完成日期  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=126074)

--  作者:BATASC750206
--  发布时间:2018/10/13 13:46:00
--  如何统计子表的生产周期天数+交表的下单日期=部门完成日期

老师好!

如何统计:子表的生产周期天数+交表的下单日期=部门完成日期

这个代码怎么写

 


--  作者:有点蓝
--  发布时间:2018/10/13 14:23:00
--  
部门完成日期是哪个表的?子表的生产周期天数是指某一行,还是子表的天数汇总。截图看看2个表数据
--  作者:BATASC750206
--  发布时间:2018/10/13 15:24:00
--  
部门完成日期是父表的
--  作者:BATASC750206
--  发布时间:2018/10/13 15:25:00
--  
下单日期(父表)+工艺生产周期(子表)=工艺完成日期(父表)
--  作者:BATASC750206
--  发布时间:2018/10/13 15:26:00
--  
表关联项是“产品类型”
--  作者:BATASC750206
--  发布时间:2018/10/13 15:34:00
--  

 父表:

  产品类型    下单日期  压铸完成日期  批锋 完成日期     钻孔完成日期  抛光 完成日期    电镀完成日期   包装完成日期   备注  
   JA                                
   JB                                
   JC                                
   JD                                

子表:

 

  产品类型    外购   压铸    批锋     钻孔  抛光      电镀   包装          
   JA        3    2   1     2    4    2        
   JB      2      2        3    4   2         
   JC    4              5      4   2         
   JD        3    2    1    3    2   5         
[此贴子已经被作者于2018/10/13 15:48:10编辑过]

--  作者:BATASC750206
--  发布时间:2018/10/13 15:38:00
--  

如批锋完成日期=压铸完成日期(交表)+批锋生产周期(子表),如上一工艺完成日期为空,则自动在“上上工序完成日期”上加上“工艺生产周期”


--  作者:y2287958
--  发布时间:2018/10/13 15:39:00
--  
上例子吧,父表根本就没有“部门完成日期”这个列
--  作者:BATASC750206
--  发布时间:2018/10/13 15:49:00
--  
请再看下,我修改了
--  作者:有点蓝
--  发布时间:2018/10/13 15:50:00
--  
类似:

父表datacolchanged

Select Case e.DataCol.Name
    Case "下单日期","产品类型"
        If e.DataRow.IsNull("产品类型") = False AndAlso e.DataRow.IsNull("下单日期") = False
            Dim dr As DataRow = DataTables("子表").Find("产品类型=\'" & e.DataRow("产品类型") & "\'")
            If dr IsNot Nothing Then
                e.DataRow("压铸") = e.DataRow("下单日期").adddays(dr("压铸"))
            End If
        End If
    Case "压铸"
        If e.DataRow.IsNull("压铸") = False AndAlso e.DataRow.IsNull("产品类型") = False
            Dim dr As DataRow = DataTables("子表").Find("产品类型=\'" & e.DataRow("产品类型") & "\'")
            If dr IsNot Nothing Then
                e.DataRow("批锋") = e.DataRow("压铸").adddays(dr("批锋"))
            End If
        End If
End Select