Foxtable(狐表)用户栏目专家坐堂 → [求助]如何记录修改日志?


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

主题:[求助]如何记录修改日志?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/5 21:36:00 [只看该作者]

StartEdit事件

 

vars("oldvalue") = e.Row(e.Col.Name)

 

 

AfterEdit事件

 

If e.Col.Name <> "日志" AndAlso vars("oldvalue") <> Nothing Then

    e.Row("日志") &= iif(e.Row.IsNull("日志"), "", vbcrlf) & e.Col.Name & "  " & vars("oldvalue") & "  " & e.Row(e.Col.name)

End If


 回到顶部
美女呀,离线,留言给我吧!
rophy0952
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:581 积分:4989 威望:0 精华:0 注册:2014/6/12 14:55:00
  发帖心情 Post By:2014/11/5 23:08:00 [只看该作者]

谢谢有点甜,这样写基本上可以达到我想要到功能了。只是我这个表格,有一些列在初次录入时,可以为空。但在审核时,可能会根据实际情况,在空白列添加一些数据进去。这样的话,判断句vars("oldvalue")<>nothing ,可能就无法将后添加的数据加入到日志当中。如图:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20141105230913.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/5 23:36:00 [只看该作者]

 那你可以把这句去掉 vars("oldvalue")<>nothing

 回到顶部
美女呀,离线,留言给我吧!
rophy0952
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:581 积分:4989 威望:0 精华:0 注册:2014/6/12 14:55:00
  发帖心情 Post By:2014/11/6 8:32:00 [只看该作者]

有点甜:你那么晚还在回复,真敬业呀!我也试过把vars("oldvalue")<>nothing去掉,但去掉后,无论是第一次录入还是审核时录入的数据,都会记录在日志中。也尝试通过用户来判断,如:If _Username = "XXX" then ,然后用XXX的用户登录后修改时,日志列无任何内容。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/6 9:05:00 [只看该作者]

 数据表是无法区分第几次编辑的,而且理应是记录每一次的改变的。

 回到顶部
美女呀,离线,留言给我吧!
rophy0952
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:581 积分:4989 威望:0 精华:0 注册:2014/6/12 14:55:00
  发帖心情 Post By:2014/11/6 9:27:00 [只看该作者]

如果用权限或用户来判断,可以吗?因为我只想记录修改的人修改过什么?不想过多的内容占用空间。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/6 9:35:00 [只看该作者]

If _Username = "XXX" then  没道理没有. 你弹出一下 _Username 看看

 回到顶部
美女呀,离线,留言给我吧!
rophy0952
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:581 积分:4989 威望:0 精华:0 注册:2014/6/12 14:55:00
  发帖心情 Post By:2014/11/6 14:54:00 [只看该作者]

这样写的代码,有问题吗?当前用户也是“陈碧霞”,当前用户修改了内容之后,修改日志那里却是空白。
If e.Col.Name <> "修改日志" Then
    If _username = "陈碧霞" Then
        e.Row("修改日志") &= iif(e.Row.IsNull("修改日志"), "", vbcrlf) & e.Col.Name & "  " & vars("oldvalue") & "  " & e.Row(e.Col.name)
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20141106145158.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/6 15:04:00 [只看该作者]

If _username.Trim() = "陈碧霞" Then

 回到顶部
美女呀,离线,留言给我吧!
rophy0952
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:581 积分:4989 威望:0 精华:0 注册:2014/6/12 14:55:00
  发帖心情 Post By:2014/11/6 15:22:00 [只看该作者]

还是没有反映,详见例子:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题.foxdb


[此贴子已经被作者于2014-11-6 15:24:21编辑过]

 回到顶部
总数 30 上一页 1 2 3 下一页