Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access开发平台

完善窗体数据修改历史记录的示例

时 间:2023-08-18 16:24:33
作 者:vincent   ID:20933  城市:广州
摘 要:改成这样会更方便给每个窗体直接调用。
正 文:

      之前学弟分享的《窗体数据修改历史记录的示例;记录Access字段编辑保存日志的示例;记录字段操作日志【Access软件网】》

http://www.accessoft.com/article-show.asp?id=20823

我给他完善了一下,改成这样会更方便给每个窗体直接调用,改动的代码如下:

Public Function LoadRecordToTag(frm As Object)
         Dim ctl As Control
        For Each ctl In frm.Controls
            If (ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox) And ctl.Name <> "历史记录" And ctl.Name <> "NoCheck" Then
                If frm.Controls(ctl.Name).Locked = False Then
                    frm.Controls(ctl.Name).Tag = "<" & frm.Controls(ctl.Name) & ">"
                End If
            End If
        Next
End Function

Public Function SaveRecordChange(frm As Object, ID As String)
    Dim changeTXT As String
    Dim ctl As Control
    Dim str1 As String
    For Each ctl In frm.Controls
        If (ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox) And ctl.Name <> "历史记录" And ctl.Name <> "NoCheck" Then
            If frm.Controls(ctl.Name).Locked = False Then
                str1 = Trim(frm.Controls(ctl.Name & "_Label").Caption)
                If frm.Controls(ctl.Name).Tag <> "<" & frm.Controls(ctl.Name) & ">" Then
                    changeTXT = changeTXT & str1 & frm.Controls(ctl.Name).Tag & "→<" & frm.Controls(ctl.Name) & ">;"
                End If
            End If
        End If
    Next
         If changeTXT <> "" Then
            Set rst = CurrentDb.OpenRecordset("tbl操作日志", dbOpenDynaset)
            rst.AddNew
            rst!编号 = frm![ID]
            rst!用户 = GetParameter("Current User nickname")
            rst!时间 = Now()
            rst!修改历史 = changeTXT
            rst.Update
            rst.Close
          End If
End Function
        '加载数据到控件tag中,监视是否有修改
         Call LoadRecordToTag(Me)
‘保存
    If Not Me.DataEntry Then
       Call SaveRecordChange(Me, Me![PID])
    End If



Access快速开发平台QQ群 (群号:321554481)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助