以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]获取被修改过的列名集合  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188756)

--  作者:lgj716330
--  发布时间:2023/10/17 9:06:00
--  [求助]获取被修改过的列名集合
全局表事件的DataColChanged事件,希望对修改过的列记录下来
If e.DataTable.Name <> "系统操作日志"  Then
    If e.DataRow.RowState = 2 Then
        Return
    Else
        Dim da As Date = Date.Now()
        Dim da1 As Date = da.AddMinutes(1)
        Dim da2 As Date = da.AddMinutes(-1)
        Dim dr1 As DataRow
        dr1 = DataTables("系统操作日志").Find("用户 = \'" & _UserName & "\' and 操作表 = \'" & e.DataTable.Name & "\' and 操作列 = \'" & e.DataCol.Name & "\' and 时间 <= \'" & da1 & "\' and 时间 >= \'" & da2 & "\'","时间 Desc")
        If dr1 Is Nothing Then 
            If e.DataCol.Name <> "审核" Then 
                Dim dr As DataRow = DataTables("系统操作日志").AddNew()
                dr("用户") = _UserName
                dr("操作表") = e.DataTable.Name
                dr("操作列") = e.DataCol.Name
                dr("时间") = Date.Now
            End If
        End If
    End If
End If
上面的结果是每列分不同行的,想实现在同一行要怎么处理
如操作列的结果象“a,b,c"这样
[此贴子已经被作者于2023/10/17 9:46:39编辑过]

--  作者:有点蓝
--  发布时间:2023/10/17 9:11:00
--  
没看懂,请举例具体数据说明一下
--  作者:lgj716330
--  发布时间:2023/10/17 9:48:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:表1.png
图片点击可在新窗口打开查看
上面的结果是上图这样的,希望实现下图这样的结果

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


--  作者:有点蓝
--  发布时间:2023/10/17 9:59:00
--  
        If dr1 Is Nothing Then 
            If e.DataCol.Name <> "审核" Then 
                Dim dr As DataRow = DataTables("系统操作日志").AddNew()
                dr("用户") = _UserName
                dr("操作表") = e.DataTable.Name
                dr("操作列") = e.DataCol.Name
                dr("时间") = Date.Now
            End If
else
dr("操作列") = dr("操作列") &  "," &  e.DataCol.Name
        End If