Июнь7 предоставил ответ, который решил мою проблему.Спасибо!
Итак, вот мой код:
Public Sub sendEvent_ValueChange(RecordID As Long, TableID As String,
ValueID As String, newVal As Variant, oldVal As Variant)
DoCmd.SetParameter "sTable", TableID
DoCmd.SetParameter "sField", ValueID
DoCmd.SetParameter "sAction", "UPDATE"
DoCmd.SetParameter "recordID", RecordID
DoCmd.SetParameter "value_Old", oldVal
DoCmd.SetParameter "value_New", newVal
DoCmd.RunDataMacro "ChangeLog.AddLog"
End Sub
Идея этого подпрограммы состоит в том, что когда пользователь изменяет несвязанный элемент управления, событие afterUpdate будет вызывать его для отправки таблицы / источникаимя, имя поля, старые и новые значения в таблице «ChangeLog».«AddLog» - это именованный макрос данных в этой таблице, который проверяет типы данных (логические, длинные, строковые и т. Д.) И помещает данные в поле правильного типа.
Проблема в том, что он ищетдо второго параметра команды «SetParameter» в качестве имени элемента управления в открытой форме вместо просто значения.Чтобы интерпретировать его как значение, оно должно быть заключено в кавычки, например
DoCmd.SetParameter "sTable", "'" & TableID & "'"
DoCmd.SetParameter "sAction", "'UPDATE'"
и т. Д.