以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动修改  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126636)

--  作者:13775189031
--  发布时间:2018/10/25 16:09:00
--  自动修改

在表“零件探伤清单”datacolchanged编码如下:

在表“VT报告”中自动生成行,但如果表“零部件探伤清单”中内容修改,“VT”报告中如何实现自动修改?

Select Case e.DataCol.Name
    Case "探伤要求_VT"
        If e.newvalue = False Then
            DataTables("VT报告").DeleteFor("零部件编号=\'" & e.DataRow("零部件编号") & "\'")
        Else
            Dim ndr As DataRow = DataTables("VT报告").AddNew
            ndr("零部件编号") = e.DataRow("零部件编号")
            ndr("生产令号") = e.DataRow("生产令号")
            ndr("项目名称") = e.DataRow("项目名称")
            ndr("机组") = e.DataRow("机组")
            ndr("零部件名称") = e.DataRow("零部件名称")
            ndr("零部件图号") = e.DataRow("零部件图号")
            ndr("材质") = e.DataRow("材质")
            ndr("标识号") = e.DataRow("标识号")
            ndr("数量") = e.DataRow("数量")
            ndr("焊缝编号") = "/"
            ndr("产品标识") = "/"
            ndr("编制人资质") = "VT"
            ndr("审核人资质") = "VT"
        End If
End Select

 

 



--  作者:有点蓝
--  发布时间:2018/10/25 16:32:00
--  
“零件探伤清单”datacolchanged后面添加代码

Select Case e.DataCol.Name
    Case "生产令号","项目名称","....其它需要同步的列名都放到这里,自己补上.....
        Dim ndr As DataRow = DataTables("VT报告").Find("零部件编号=\'" & e.DataRow("零部件编号") & "\'")
        If ndr Is Nothing
            ndr = DataTables("VT报告").AddNew
            ndr("零部件编号") = e.DataRow("零部件编号")
        ndr("焊缝编号") = "/"
        ndr("产品标识") = "/"
        ndr("编制人资质") = "VT"
        ndr("审核人资质") = "VT"
        End If
        
        ndr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
End Select


--  作者:13775189031
--  发布时间:2018/10/26 9:08:00
--  

有点问题

要求逻辑列"探伤要求_VT"勾选后在表“VT报告”中自动生成行,这时如果表“零件探伤清单”中有修改,表“VT报告”中自动修改

按照上面的代码,逻辑列"探伤要求_VT"还没勾选呢,就已经在“VT报告”中自动生成行了!

 


--  作者:13775189031
--  发布时间:2018/10/26 9:10:00
--  
表“零件探伤清单”的行也是根据其他表内容自动增加的
--  作者:有点蓝
--  发布时间:2018/10/26 9:39:00
--  
Select Case e.DataCol.Name
    Case "生产令号","项目名称","....其它需要同步的列名都放到这里,自己补上.....
        If e.DataRow("探伤要求_VT") Then
            Dim ndr As DataRow = DataTables("VT报告").Find("零部件编号=\'" & e.DataRow("零部件编号") & "\'")
            If ndr Is Nothing
                ndr = DataTables("VT报告").AddNew
                ndr("零部件编号") = e.DataRow("零部件编号")
                ndr("焊缝编号") = "/"
                ndr("产品标识") = "/"
                ndr("编制人资质") = "VT"
                ndr("审核人资质") = "VT"
            End If
            
            ndr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select