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
Need some help with ComboBox and Column
Tricky DCount for me - maybe not you
Special characters in combo boxes
Oracle - Connect by Prior - Two times in single query
VBA code to customize tab order
Conditional formatting to copy the format of another cell
HP only has drivers for Vista, downgraded to XP.
How to embed Ms Access form in C# WinForms application ?
Removing an Exchange 2003 Server
Parsing command output