Microsoft
Software
Hardware
Network
Question : MS Access Audit using Screen.ActiveControl.OldVa<wbr />lue
I'm trying to create an audit file that tracks the changes made to a form. everytime i execute it i'm getting expression has no value for the screen.activecontrol.old value.
Any help would be appreciated.
Below is the code.
Option Explicit
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function fOSUserName() As String
' Returns the login name for Adminstrator use
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strUserName
, lngLen)
If (lngX > 0) Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = vbNullString
End If
End Function
Function TrackChanges()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim strCtl As String
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.Name
rs!ControlName = strCtl
rs!DateChanged = Date
rs!TimeChanged = Time()
rs!PriorInfo = Screen.ActiveControl.OldVa
lue
rs!NewInfo = Screen.ActiveControl.Value
rs!CurrentUser = fOSUserName
.Update
End With
Set db = Nothing
Set rs = Nothing
End Function
Answer : MS Access Audit using Screen.ActiveControl.OldVa<wbr />lue
ok ... but even on an existing record, if a given field has never had a value entered and save, then there is no OldValue.
Random Solutions
Automation error when using MSGraph in Access 2000
Processing multiple textr files usiing dataadapter
How do I Recover/ Repair a "Messed Up" Main Switchboard
How do you change the default username for default SQL Trace
Data Sychronization Strategy
SSRS 2008 with SQL Server 2005 CRM Database
Certificate Blues
How to change @@servername?
Remote Desktop Easy Print in Windows Embedded Standard 2009
error writing to memory.