以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- “数据操作日志”表中的“原行数据”列,能不能让这一列显示修改前的行数据? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=132371) |
|
-- 作者:fengwenliuyan -- 发布时间:2019/3/20 18:14:00 -- “数据操作日志”表中的“原行数据”列,能不能让这一列显示修改前的行数据? “数据操作日志”表中的“原行数据”列,现在现在显示的却是行修改后的内容,能不能让这一列显示修改前的行数据? 能否将操作日志记录的对象,前提设置为: 当前行数据录入保存的3天后再进行,或者,对“结单”列为true的行进行修改时才进行日志记录?
[此贴子已经被作者于2019/4/30 9:58:03编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2019/3/20 22:15:00 -- 1、如果需要3天后再进行,你需要加入一列【录入时间】,用它来和今天比较;
2、你在记录的事件那里,加入一个条件,如 If dr("结单") = true Then 即可。 |
|
-- 作者:fengwenliuyan -- 发布时间:2019/3/21 10:37:00 -- 回复:(有点甜)1、如果需要3天后再进行,你需要加入... 这样写可以吗? If e.DataTable.Name <> "数据操作日志" Then If e.DataRow.RowState = 2 Or e.DataRow("结单") = False Then Return Else Dim dr As DataRow = DataTables("数据操作日志").AddNew dr("ID") = e.DataRow("_Identify") dr("用户") = User.Name dr("涉及表") = e.DataTable.Name dr("涉及列") = e.DataCol.Name dr("涉及行") = e.DataRow("_Identify") dr("时间") = Date.Now dr("操作") = """" & e.OldValue & """ 改成了 """ & e.NewValue & """" Dim str As String = "" For Each c As DataCol In e.DataTable.DataCols str += c.Name & "=" & e.DataRow(c.Name) & "|" Next dr("原行数据") = str End If End If |
|
-- 作者:fengwenliuyan -- 发布时间:2019/3/21 10:42:00 -- 回复:(有点甜)1、如果需要3天后再进行,你需要加入... [此贴子已经被作者于2019/4/30 9:58:14编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2019/3/21 11:01:00 -- str += c.Name & "=" & e.DataRow.OriginalValue(c.Name) & "|" |
|
-- 作者:fengwenliuyan -- 发布时间:2019/3/21 11:27:00 -- 回复:(有点蓝)str += c.Name & "=" & e.Da... 谢谢老师!这样应该就可以了! If e.DataTable.Name <> "数据操作日志" Then If e.DataRow.RowState = 2 Or e.DataRow("结单") = False Then Return Else Dim dr As DataRow = DataTables("数据操作日志").AddNew dr("ID") = e.DataRow("_Identify") dr("用户") = User.Name dr("涉及表") = e.DataTable.Name dr("涉及列") = e.DataCol.Name dr("涉及行") = e.DataRow("_Identify") dr("时间") = Date.Now dr("操作") = """" & e.OldValue & """ 改成了 """ & e.NewValue & """" Dim str As String = "" Dim str1 As String = "" For Each c As DataCol In e.DataTable.DataCols str += c.Name & "=" & e.DataRow.OriginalValue(c.Name) & "|" str1 += c.Name & "=" & e.DataRow(c.Name) & "|" Next dr("原行数据") = str dr("改后数据") = str1 End If End If
|