以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]产品表中的该行被删除,并自动保存在“产品另存表”中...  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131711)

--  作者:fengwenliuyan
--  发布时间:2019/3/5 0:50:00
--  [求助]产品表中的该行被删除,并自动保存在“产品另存表”中...
窗口1中,“产品”表与“订单”表,都在表属性中设置了禁止删除,在窗口1中,新建一个控件按钮“删除一行另存”,
目标:
在窗口1中的产品表中,选择1行,并点击按钮“删除一行另存”,则:
1.产品表中的该行被删除,并自动保存在“产品另存表”中,
2.且该行在“订单”表中,所对应的所有相同产品编号的行,都自动保存在“订单另存表”中。
想要达到这样的目标,代码该如何写?



[此贴子已经被作者于2019/4/30 9:51:52编辑过]

--  作者:y2287958
--  发布时间:2019/3/5 8:23:00
--  
确定要删除和另存的编号,另存后再删除
--  作者:fengwenliuyan
--  发布时间:2019/3/5 8:35:00
--  回复:(y2287958)确定要删除和另存的编号,另存后再...
求具体代码,拜托
--  作者:有点甜
--  发布时间:2019/3/5 8:46:00
--  
Dim dr As Row = Tables("窗口1_Table2").Current
If dr IsNot Nothing Then
    If MessageBox.Show("确定要删除该数据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        Dim dr1 As DataRow = DataTables("产品另存表").Find("自动编号=\'" & dr("自动编号") & "\'") \'判断一下是不是需要排除重复,如果不需要就将代码去除\'
        If dr1 Is Nothing Then
            dr1= DataTables("产品另存表").addnew
            For Each cl As Col In Tables("窗口1_Table2").cols
                dr1(cl.Name) = dr(cl.name)
            Next
            dr1.save
            For Each cdr As DataRow In DataTables("订单").Select("产品编号=\'" & dr("产品编号") & "\'")
                dr1= DataTables("订单另存表").addnew
                For Each cl As Col In Tables("订单另存表").cols
                    dr1(cl.Name) = cdr(cl.name)
                Next
            Next
        End If
        dr.delete
    End If
End If

--  作者:fengwenliuyan
--  发布时间:2019/3/5 10:37:00
--  谢谢,完善了一下
Dim dr As Row = Tables("窗口1_Table2").Current
If dr IsNot Nothing Then
    If MessageBox.Show("确定要删除该数据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        Dim dr1 As DataRow = DataTables("产品另存表").Find("自动编号=\'" & dr("自动编号") & "\'") \'判断一下是不是需要排除重复,如果不需要就将代码去除\'
        If dr1 Is Nothing Then
            dr1= DataTables("产品另存表").addnew
            For Each cl As Col In Tables("窗口1_Table2").cols
                dr1(cl.Name) = dr(cl.name)
            Next
            dr1.save
            For Each cdr As DataRow In DataTables("订单").Select("产品编号=\'" & dr("产品编号") & "\'")
                dr1= DataTables("订单另存表").addnew
                For Each cl As Col In Tables("窗口1_Table1").cols
                    dr1(cl.Name) = cdr(cl.name)
                Next
            Next
        End If
        dr.delete
    End If
End If