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

完善窗体数据修改历史记录完善窗体数据修改历史记录的示例,这样会更方便给每个窗体直接调用。之前学弟分享的《窗体数据修改历史记录的示例;记录Access字段编辑保存日志的示

欢迎大家来到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

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信