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


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

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

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


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

 没问题啊,

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


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

我大概猜到是什么原因了,因为我要修改的是后台数据,而在Afteredit事件中录入datacol时提示出错:“datacol”不是“rowcoleventargs”的成员。在table里找不到对应的行,所以出现了空白。像这种情况,该如何处理呢?

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


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

 后台数据怎么可能触发afteredit事件?

 

 如果你在控件,比如文本框中修改值,就把代码写在控件里


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


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

哦,原来是这样啊,是不是要做修改日志的每个控件都要写入代码呢?代码是这样写吗?红色部分不知该如何写?谢谢
以下内容为程序代码:

1 If _username.Trim() = "陈碧霞" Then
2 Dim dr As DataRow = DataTables("成品检验记录表").SQLfind("流水号 = '"& forms("成品检验记录修改").Controls("流水号").value & "'and 检验员 = '"& forms("成品检验记录修改").Controls("检验员").value & "'")
3 If dr IsNot Nothing Then
4 dr("修改日志") &= iif(e.Row.IsNull("修改日志"), "", vbcrlf) & e.Col.Name & " " & oldvalue & " " & newvalue
5 End If
6 End If


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


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

 1、在enter事件记录旧值;

 

 2、列名写死,新值用e.sender.text


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


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

我在valuechanged中录入代码:
If _username = "陈碧霞" Then
Dim dr As DataRow = DataTables("成品检验记录表").SQLfind("流水号 = '"& forms("成品检验记录修改").Controls("流水号").value & "'and 检验员 = '"& forms("成品检验记录修改").Controls("检验员").value & "'")
If dr IsNot Nothing Then
dr("修改日志") &= vbcrlf & "不良项目1_代号" & "  " & vars("oldvalue") & "  " & e.sender.value
End If
End If

在enter中录入代码:
vars("oldvalue") = e.sender.value

最后“修改日志”的值还是空。不知是不是我的代码有问题呢?

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


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

sqlfind的数据,最后一定要dr.Save

 

同时,需要重新加载表才能看到数据


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


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

请问为什么出来的结果,都多出来两行旧值呢?(红色部分是没有用的)

不良项目1_代号    15

不良项目1_代号    15

不良项目1_代号  15  10

 

不良项目1_代号    10

不良项目1_代号    10

不良项目1_代号  10  15

 

不良项目1_代号  18

不良项目1_代号  18

不良项目1_代号 18 15

 

不良项目1_代号  15

不良项目1_代号  15

不良项目1_代号 15 10

 

不良项目1_代号  10

不良项目1_代号  10

不良项目1_代号 10 18


代码是这样写的:

If _username = "陈碧霞" Then

Dim dr As DataRow = DataTables("成品检验记录表").SQLfind("流水号 = '"& forms("成品检验记录修改").Controls("流水号").value & "'and 检验员 = '"& forms("成品检验记录修改").Controls("检验员").value & "'")

If dr IsNot Nothing Then

dr("修改日志") &= iif(dr.IsNull("修改日志"),"", vbcrlf) & "不良项目1_代号" & " " & vars("oldvalue") & " " & e.sender.value

End If

dr.save

End If

[此贴子已经被作者于2014-11-6 18:11:38编辑过]

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


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

呃,你这个控件绑定了列?不要绑定列


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


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

的确是因为绑定了列的关系,哎!终于可以了,谢谢有点甜这么耐心的指导!

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