Me.undo в VBA Access 2013

У меня проблема с командой ME.UNDO, чтобы предотвратить изменения при закрытии формы в Access 2013.

У меня есть форма, которая ссылается на таблицу, которая содержит рабочий список. Эта форма доступна только для чтения, чтобы предотвратить случайные изменения пользователя. Чтобы иметь возможность вносить изменения, пользователь должен дважды щелкнуть элемент, чтобы вызвать другую форму, которая связана с этим конкретным рабочим элементом, а затем внести в нее изменения. У меня есть кнопка сохранения, чтобы пользователь мог сохранить изменения. Но если пользователь просто закрывает эту форму, я НЕ хочу сохранять изменения. Я использую me.undo в событии close (и это единственная строка кода в этом событии). Так или иначе это все еще сохраняет это. Всякий раз, когда я там что-то набираю и закрываю, это отражает изменение в форме рабочего списка.

Любая идея и предложения, пожалуйста. Спасибо, парни

1 ответ

Решение

Если вы пишете только одну запись и хотите удалить эту запись при закрытии, попробуйте это. Но сначала удалите событие OnClose, обратите внимание, что это происходит при событии Unload формы.

Private Sub Form_Unload(Cancel As Integer) 
   On Error Resume Next 
   DoCmd.SetWarnings False
   DoCmd.RunCommand (acCmdUndo)
   DoCmd.SetWarnings True 
End Sub

Если пользователи могут создавать несколько записей, это приведет к удалению только последней вставленной строки.

Другие вопросы по тегам