Удалить записи из базы данных Access, ошибка при удалении

StackOverflow https://stackoverflow.com/questions/34161

  •  09-06-2019
  •  | 
  •  

Вопрос

У меня следующая ситуация: я создал форму доступа с подчиненной формой (записи которой связаны с записями основной формы через определенный ключ). Когда я пытаюсь удалить любую запись в подчиненной форме, я получаю следующее сообщение: «Доступ приостановил действие, потому что вы и другой пользователь пытались изменить данные» (приблизительный перевод с немецкого). Кто-нибудь знает, как удалить эти записи из подчиненной формы (и, соответственно, из таблицы за формой).

Это было полезно?

Решение

Если вы в данный момент «редактируете» текущую форму, действие не будет разрешено. Редактирование записи может иногда вызываться простым щелчком внутри поля или другими простыми действиями, которые вы обычно не рассматриваете как «редактирование».

Этого обычно избегают в Access, используя метод RunCommand для отмены любых изменений перед удалением записи:

DoCmd.RunCommand acCmdUndo

Другие советы

Самджудсон предложил:

  

DoCmd.RunCommand acCmdUndo

Вы также можете использовать Me.Undo, чтобы отменить последнее изменение формы, в которой выполняется код.

Или, Me! MySubForm.Form.Undo, чтобы отменить последнее несохраненное редактирование в подчиненной форме, чей элемент управления подчиненной формы имеет имя " MySubForm ".

Вы также можете использовать Me! MyControl.Undo, чтобы отменить последнее изменение определенного элемента управления.

" DoCmd.RunCommand acCmdUndo " будет применять операцию отмены к выбранному в данный момент объекту, но вы не будете точно знать, будет ли она применяться на уровне элемента управления или формы. Использование команд, которые я предложил, полностью устраняет неоднозначность того, что можно отменить.

Имейте в виду, однако, что Undo не будет отменять изменения в элементе управления после запуска события AfterUpdate элемента управления или в форму после его события AfterUpdate (т. е. данные были сохранены в базовой таблице данных) .

Также проверьте " механизм блокировки строк " что у вас есть. Я не использовал Access некоторое время, но я помню, что вы могли использовать set, что в свойствах таблицы. Вы можете получить доступ к этим свойствам, нажав в известной " точке " в верхнем левом углу таблицы, чтобы вызвать его свойства. Ну, если вы используете Access, вы знаете, о чем я говорю.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top