Ms access 审核跟踪但不会保存
我正在使用下面的代码跟踪表单上的更改,它运行良好 然而,我试图在我的主窗体上使用它来记录某人单击按钮的日期/时间,但我得到以下错误: 您输入的表达式没有值 调试会将我带到以下位置:Ms access 审核跟踪但不会保存,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我正在使用下面的代码跟踪表单上的更改,它运行良好 然而,我试图在我的主窗体上使用它来记录某人单击按钮的日期/时间,但我得到以下错误: 您输入的表达式没有值 调试会将我带到以下位置: rs!PriorInfo = Screen.ActiveControl.OldValue 我的代码 Function TrackChanges() Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String Dim strCtl
rs!PriorInfo = Screen.ActiveControl.OldValue
我的代码
Function TrackChanges()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim strCtl As String
Dim strReason As String
' strReason = InputBox("Reason For Changes")
strCtl = Screen.ActiveControl.Name
strSQL = "SELECT Audit.* FROM Audit;"
Set db = CurrentDb()
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
If rs.RecordCount > 0 Then rs.MoveLast
With rs
.AddNew
rs!FormName = Screen.ActiveForm
rs!ControlName = strCtl
rs!DateChanged = Date
rs!TimeChanged = Time()
rs!PriorInfo = Screen.ActiveControl.OldValue
rs!NewInfo = Screen.ActiveControl.Value
rs!CurrentUser = fOSUserName
' rs!Reason = strReason
.Update
End With
Set db = Nothing
Set rs = Nothing
End Function
我假设我需要告诉它接受空值,但不确定如何接受?Nz(Screen.ActiveControl.OldValue)
将返回空字符串而不是空值
Nz(Screen.ActiveControl.OldValue,”)
如果PriorInfo是文本,并且您希望将其记录为空
Nz(Screen.ActiveControl.OldValue,-1)
如果PriorInfo是数字且-1是安全的“null”数字。Nz(Screen.ActiveControl.OldValue)
将返回空字符串而不是null值
Nz(Screen.ActiveControl.OldValue,”)
如果PriorInfo是文本,并且您希望将其记录为空
Nz(Screen.ActiveControl.OldValue,-1)
如果PriorInfo是数字,-1是安全的“空”数