Foxtable(狐表)用户栏目专家坐堂 → raisedatacolchanged与日志


  共有2472人关注过本帖树形打印复制链接

主题:raisedatacolchanged与日志

帅哥哟,离线,有人找我吗?
lk15502
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
raisedatacolchanged与日志  发帖心情 Post By:2016/7/11 8:18:00 [只看该作者]

库存表有一列“库存时间”,根据“入库日期”由代码计算而得,为保证数据每天更新,在项目事件afteropenproject中加入了raisedatacolchanged语句,然后做了一个数据操作日志,会在产生大量涉及“入库日期”,“库存时间”的数据,怎么屏蔽这些,或者有什么其他思路?

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/11 8:39:00 [只看该作者]

数据操作日志是怎样做的,具体上代码或者例子说明

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 8:41:00 [只看该作者]

全局表事件datacolchanged
If e.DataTable.Name <> "数据操作日志" Then
    Dim dr As DataRow = DataTables("数据操作日志").AddNew
    Select Case e.DataTable.name
        Case "入库表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及列") = e.DataCol.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("入库编号")
            dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"
        Case "库存表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及列") = e.DataCol.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("入库编号")
            dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"
        Case "出库表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及列") = e.DataCol.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("出库编号")
            dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"
    End Select
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 8:43:00 [只看该作者]

datarowadded:
If e.DataTable.Name <> "数据操作日志" Then
    Dim dr As DataRow = DataTables("数据操作日志").AddNew()
    Select Case e.DataTable.name
        Case "入库表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("入库编号")
            dr("操作") = "增加行"
        Case "库存表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("入库编号")
            dr("操作") = "增加行"
        Case "出库表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("出库编号")
            dr("操作") = "增加行"
    End Select
    
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 8:44:00 [只看该作者]

datarowdeleted:
If e.DataTable.Name <> "数据操作日志" Then
    Dim dr As DataRow = DataTables("数据操作日志").AddNew()
    Select Case e.DataTable.name
        Case "入库表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("入库编号")
            dr("操作") = "删除行"
        Case "库存表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("入库编号")
            dr("操作") = "删除行"
        Case "出库表"
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("出库编号")
            dr("操作") = "删除行"
    End Select
    
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 8:51:00 [只看该作者]




还在项目事件afteropenproject中加入了raisedatacolchanged语句,打开项目更新库存时间,由此导致产生大量操作日志

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/11 9:12:00 [只看该作者]

datacolchanged再套一个Select Case

Case "库存表"
    Select Case e.DataCol.name
        Case "入库日期","库存时间"
        Case Else
            dr("用户") = User.Name
            dr("涉及表") = e.DataTable.Name
            dr("涉及行") = e.DataRow("_Identify")
            dr("时间") = Date.Now
            dr("涉及编号") = e.DataRow("入库编号")
            dr("操作") = "增加行"
    End Select

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/11 9:24:00 [只看该作者]

以下是引用lk15502在2016/7/11 8:51:00的发言:



还在项目事件afteropenproject中加入了raisedatacolchanged语句,打开项目更新库存时间,由此导致产生大量操作日志

 

那你就加上

 

SystemReady = False

 

raisedatacolchanged语句

 

SystemReady = True


 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 10:36:00 [只看该作者]

其他不用作任何改动吗?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/11 10:43:00 [只看该作者]

以下是引用lk15502在2016/7/11 10:36:00的发言:
其他不用作任何改动吗?

 

不用。

 

你也可以在DataColChanged代码,比较e.NewValue是否等于e.OldValue,从而判断是否真实修改了。


 回到顶部
总数 19 1 2 下一页