Foxtable(狐表)用户栏目专家坐堂 → [求助]表数据改动日志


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

主题:[求助]表数据改动日志

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


加好友 发短信
等级:三尾狐 帖子:606 积分:3415 威望:0 精华:0 注册:2011/5/21 18:05:00
[求助]表数据改动日志  发帖心情 Post By:2018/7/25 15:49:00 [只看该作者]

想知道表数据谁在什么时间有改动,DataColChanged增加代码如下,结果就是有改动的时候项目自动卡、然后关闭,是什么原因?要如何解决?

If e.DataRow("Log") > "" Then
    e.DataRow("Log") = e.DataRow("Log") & vbcrlf & vars("用户") & "|" & Date.Now & "|" & e.DataCol.Name
Else
    e.DataRow("Log") = vars("用户") & "|" & Date.Now & "|" & e.DataCol.Name
End If

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


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

改成

 

If e.DataCol.Name <> "Log" Then    
    If e.DataRow("Log") > "" Then
        e.DataRow("Log") = e.DataRow("Log") & vbcrlf & vars("用户") & "|" & Date.Now & "|" & e.DataCol.Name
    Else
        e.DataRow("Log") = vars("用户") & "|" & Date.Now & "|" & e.DataCol.Name
    End If
End If


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


加好友 发短信
等级:三尾狐 帖子:606 积分:3415 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/7/25 16:25:00 [只看该作者]

非常感谢,忘记这个了

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


加好友 发短信
等级:三尾狐 帖子:606 积分:3415 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/7/25 16:27:00 [只看该作者]

Log里面的日志大于多少行或者大于多少字需要删除一下?

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


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

以下是引用YDS在2018/7/25 16:27:00的发言:
Log里面的日志大于多少行或者大于多少字需要删除一下?

 

这个你需要根据自己的逻辑设置处理一下。比如记录做多100行数据,超过100行的时候,就把第一行删除。


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


加好友 发短信
等级:三尾狐 帖子:606 积分:3415 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/7/25 17:02:00 [只看该作者]

If e.DataCol.Name <> "Log" Then
    If e.DataRow("Log") > "" Then
        e.DataRow("Log") = e.DataRow("Log") & vbcrlf & vars("用户") & "|" & Date.Now & "|" & e.DataCol.Name
        Dim n As Integer = e.DataRow("Log").Split(vbcrif)
        If n > 99 Then
           ' 删除第一行的代码怎么写
        End If
    Else
        e.DataRow("Log") = vars("用户") & "|" & Date.Now & "|" & e.DataCol.Name
    End If
End If

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


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

参考代码

 

Dim str As String = "1234" & vbcrlf & "abc" & vbcrlf & "789"
Dim ls As new List(of String)
ls.AddRange(str.replace(chr(10), "").Split(chr(13)))
ls.RemoveAt(0)
str = String.Join(vbcrlf, ls.ToArray)
msgbox(str)


 回到顶部