Andy Lacey
andy at minstersystems.co.uk
Sun Feb 8 03:31:27 CST 2009
Hi Stuart What about storing the ctl's old description to a form level variable in, say, OnGotFocus, and using that? Andy Lacey -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: 08 February 2009 09:00 To: Access Developers discussion and problem solving Subject: [AccessD] Combobox.oldvalue display text? I'm logging record changes on a form into an audit trail/diary. Text boxes are simple: strchanges = "" For Each ctl In Me.Controls Select Case Left(ctl.Name, 3) Case "txt" If Nz(ctl.Value, "") <> Nz(ctl.OldValue, "") Then strchanges = strchanges + Mid$(ctl.Name, 4) & " changed from '" & Nz(ctl.OldValue, "BLANK") & "'-to-'" & Nz(ctl.Value, "BLANK") & "'" & vbCrLf End If Case Else End Select Next If strchanges > "" Then strchanges = Replace(strchanges, "'", "''") strSQL = "Insert into tblDiary (DTG,TenderID,creator,comments) values (Now()," _ & TenderID & ",'" & GetUserName() & "','" & strchanges & "')" End If CurrentDb.Execute strSQL There are a number of Combo Boxes (cboFieldName) as well. In each case, the row source is in the form: Select Descr,ID from tblLookup If I use the same method as per "txt", I get the Indexes in the diary ie Fieldname changed from "6"-to-"4" I can use use ctl.text to get Fieldname changed from "6"-to-"New Description" Getting "Old Description" insead of "6" is the problem I've considered Building Dlookup()s from cbo.Rowsource with a cbo.Oldvalue filter Using a DAO,.Recordset to do the same, again based on the cbo.Rowsource (easier than Dlookup, because I can use Fieldnumbers in the returned record) Both seem a bit of a PITA since there are a lot of fields on the form. Ideally I'd like something like ctl.oldvalue.text but that doesn't work. Anyone got any other ideas? -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com