@ HK1 Эй, чувак, только что вернулся и перечитал твой ответ снова через 2 года. Я просто хочу еще раз поблагодарить вас за такой отличный ответ. Мне очень нравится твоя идея изменения даты / времени. Я до сих пор экономно использую этот метод в своих проектах, но в основном только для целей отображения - показываю импортированные данные пользователю, которые им не разрешено редактировать, и не позволяю им открыть связанную таблицу или что-то еще и редактировать ее там. Если у пользователя есть права администратора / редактирования, я просто изменю набор записей формы, чтобы затем указывать на связанную или локальную таблицу и управлять там. Так намного проще.

ся, я ничего не понимаю в этом вопросе. Я могу прикрепить набор записей ADO к форме, но я не уверен, как обрабатывать обновления. Я не хочу только UpdateBatch, я хочу быть в состоянии обнаружить, что было изменено для целей ведения журнала. Может кто-то указать мне верное направление?

Поставляемый SQL содержит одно поле Key, которое представляет собой Autonumber с именем «ID».

Private Sub Form_Load()
    Dim rst as Object
    Set rst = CreateObject("ADODB.Recordset")
    rst.CursorLocation = adUseClient
    '...edit out connection
    rst.Open sql, mConnection, adOpenStatic, adLockBatchOptimistic
    set rst.ActiveConnection = Nothing
    Set Me.Recordset =  rst
End Sub 

''Edit records on the form and now click save
Private Sub cmdSave_Click()
    Dim rst As Object
    Set rst = Me.Recordset
    Set rst.ActiveConnection = GetConnection
    rst.UpdateBatch
    'How do I detect deleted, added, or modified records for logging? 
End Sub

Ответы на вопрос(1)

Ваш ответ на вопрос