以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]删除一行记录之前,先将这行记录保存在令一张表中  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96446)

--  作者:积水成渊
--  发布时间:2017/2/21 10:59:00
--  [求助]删除一行记录之前,先将这行记录保存在令一张表中
删除一行记录之前,先将这行记录保存在另一张表中,这两张表的字段一样。求代码
--  作者:kaiyu
--  发布时间:2017/2/21 11:13:00
--  

表事件

DataRowDeleting

正在删除一行的时候执行,这时行还未被删除。

e参数属性: 

DataTable:返回要删除行的数据表。
DataRow:  返回要删除的数据行。

Dim r As DataRow = e.DataRow
Dim rr As Row = Tables("新表").addnew
For Each c As Col In Tables("新表").Cols
    r(c.Name) = rr(c.name)
Next
rr.save


--  作者:wyz20130512
--  发布时间:2017/2/21 11:23:00
--  
代码写在“表A“的DataRowDeleting事件中

With DataTables("表B")
    Dim dr As DataRow = e.DataRow
    Dim dr2 As DataRow = .AddNew()
    For Each dc As DataCol In .DataCols
        dr2(dc) = dr(dc)
    Next
End With

--  作者:积水成渊
--  发布时间:2017/2/21 12:28:00
--  
谢谢 ,如何两个表有几个字段不一样呢。那么该怎么写
--  作者:有点色
--  发布时间:2017/2/21 14:24:00
--  
With DataTables("表B")
    Dim dr As DataRow = e.DataRow
    Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
    Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
    Dim dr2 As DataRow = .AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr(Cols1(i))
    Next
End With

--  作者:积水成渊
--  发布时间:2017/2/21 16:44:00
--  
感谢