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


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

主题: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语句,然后做了一个数据操作日志,会在产生大量涉及“入库日期”,“库存时间”的数据,怎么屏蔽这些,或者有什么其他思路?

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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




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

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


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

其他不用作任何改动吗?


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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 11:03:00 [显示全部帖子]

我写在datarowadded的代码没有被执行,被datacolchanged的代码执行了

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 11:08:00 [显示全部帖子]

我在datarowadded中的代码没有被执行,被datacolchanged的代码执行了,请问应该怎么办?

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 11:08:00 [显示全部帖子]

datrowdeleted的也一样

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/7/11 11:21:00 [显示全部帖子]

写在项目事件的maintablechanged中:与写在项目事件Initialize有什么不同?
For Each dt As DataTable In DataTables
    dt.GlobalHandler.DataColChanged = True
    dt.GlobalHandler.DataRowadded = True
    dt.GlobalHandler.DataRowdeleted = True
Next
'--------为当前主表开启全局表事件.DataColChanged ,datarowadded,datarowdeleted,用于记录操作日志--------

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