@ 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