0
我正在使用下面的代码来跟踪表单上的更改,它工作正常。审计跟踪,但不会保存
不过,我想用它在我的主要形式记录只是日期/时间有人点击一个按钮,但是我得到以下错误:
You entered an expression that has no value
调试带我到这一点:
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
我想我需要告诉它接受空值,但不确定如何?