以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表间转移  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102297)

--  作者:zoudezhao
--  发布时间:2017/6/16 19:29:00
--  表间转移

假设表A与表B所有列相同,当订单状态=取消订单。满足条件行会批量转移到表B中,并删除这些表A中的行


--  作者:2900819580
--  发布时间:2017/6/16 19:57:00
--  
If e.DataRow("订单状态") = "取消订单" Then
Dim r As Row = Tables("表B").AddNew
    For Each c As Col In Tables("表B").Cols
       
        r(c.Name) = Tables("表A").Current(c.Name)
    Next
    Tables("表A").Current.Delete
End If

--  作者:有点蓝
--  发布时间:2017/6/16 20:47:00
--  
表A, datacolchanged事件

If e.DataRow("订单状态") = "取消订单" Then
    Dim r As Row = Tables("表B").AddNew
    For Each c As Col In Tables("表B").Cols
        r(c.Name) = e.DataRow(c.Name)
    Next
    e.DataRow.Delete
End If

--  作者:zoudezhao
--  发布时间:2017/6/17 10:15:00
--  

我想做到一键会将表A中所有满足条件的行全部移到表B并且删除原表A的数据怎么做呀。。

[此贴子已经被作者于2017/6/17 10:22:32编辑过]

--  作者:有点蓝
--  发布时间:2017/6/17 10:20:00
--  
For Each dr As DataRow in Tables("表A").Select("订单状态 = \'取消订单\'")
    Dim r As Row = Tables("表B").AddNew
    For Each c As Col In Tables("表B").Cols
        r(c.Name) = dr(c.Name)
    Next
Next

DataTables("表A").DeleteFor("订单状态 = \'取消订单\'")

--  作者:zoudezhao
--  发布时间:2017/6/17 10:32:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看
有上述提示信息。。


--  作者:有点蓝
--  发布时间:2017/6/17 10:50:00
--  
For Each dr As DataRow In DataTables("表A").Select("订单状态 = \'取消订单\'")