欢迎大家来到IT世界,在知识的湖畔探索吧!
完善窗体数据修改历史记录的示例,这样会更方便给每个窗体直接调用。
之前学弟分享的《窗体数据修改历史记录的示例;记录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软件网】
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/33218.html