以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 生成修改记录的问题,求思路  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46491)

--  作者:ciker
--  发布时间:2014/2/24 16:48:00
--  [求助] 生成修改记录的问题,求思路
问题描述: 两个表,表A和表B. 想在表A修改了某些列的内容 并保存后,自动在表B增加行,并记录表A修改前和修改后的值。应怎样做?求思路!
--  作者:Bin
--  发布时间:2014/2/24 16:50:00
--  
参考这里http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=41276
--  作者:狐狸爸爸
--  发布时间:2014/2/24 16:55:00
--  

在这个事件写代码:

http://www.foxtable.com/help/topics/0628.htm

 

If e.DataRow.RowState = DataRowState.Modified Then
    Dim s As String  = ""
    For Each c As DataCol In e.DataTable.DataCols
        If e.DataRow.OriginalValue(c.name) <> e.DataRow(c.name) Then
            If s >"" Then
                s = s & vbcrlf
            End If
            s = s & c.name & "|" & e.DataRow.OriginalValue(c.name) & "|" & e.DataRow(c.name)
        End If
    Next
    If s > "" Then
        Dim dr As DataRow = DataTables("表B").AddNew
        dr("第十列") = s
    End If
End If


--  作者:狐狸爸爸
--  发布时间:2014/2/24 16:56:00
--  
不过这样做,支出太大,最后只记录关键数据。

--  作者:ciker
--  发布时间:2014/2/24 19:30:00
--  
谢狐爸,问题已解决。