Foxtable(狐表)用户栏目专家坐堂 → 同步删除行


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

主题:同步删除行

美女呀,在线,快来找我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:835 积分:5798 威望:0 精华:0 注册:2017/12/19 14:46:00
同步删除行  发帖心情 Post By:2020/9/4 13:06:00 [只看该作者]

请教:按照下面的代码在“原材料采购明细表”中生成行,想要“物资说明”列填写有变化后,“原材料采购明细表”中的行也自动删除,要怎么改?
Select Case e.DataCol.name
    Case "预算编号","物资说明"
        If e.DataRow.IsNull("预算编号") = True OrElse e.DataRow.IsNull("物资说明") = True Then
            DataTables("原材料采购明细表").DeleteFor("预算编号='" & e.DataRow("预算编号") & "'")
        Else
            Dim ndr1 As DataRow = DataTables("原材料采购明细表").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
            If e.DataRow("物资说明") = "原材料" Then
                Dim ndr As Row = Tables("原材料采购明细表").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.Move(0)
            End If
        End If
End Select


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110769 积分:563777 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/4 13:47:00 [只看该作者]

“物资说明”列填写有变化 -- 有什么变化?

……
        Else
            If e.DataRow("物资说明") = "原材料" Then
            Dim ndr As DataRow = DataTables("原材料采购明细表").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
if ndr is nothing then
                ndr = dataTables("原材料采购明细表").AddNew
end if
                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.Move(0)
            End If
        End If

 回到顶部
美女呀,在线,快来找我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:835 积分:5798 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2020/9/4 13:53:00 [只看该作者]

例如“物资说明”由“原材料”改为“外购件”
那么就要把“原材料采购明细表”中的行删掉,改为在其他中生成相应的行

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110769 积分:563777 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/4 13:59:00 [只看该作者]

……
        Else
            Dim ndr1 As DataRow = DataTables("原材料采购明细表").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
            If e.DataRow("物资说明") = "原材料" Then
                Dim ndr As Row = Tables("原材料采购明细表").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.Move(0)
            ElseIf e.DataCol.name = "物资说明" AndAlso e.OldValue = "原材料"
                DataTables("原材料采购明细表").deletefor("预算编号 = '" & e.DataRow("预算编号") & "'")
            End If
        End If
End Select

 回到顶部