Удалить записи из базы данных Access, ошибка при удалении - PullRequest
1 голос
/ 29 августа 2008

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

Ответы [ 3 ]

1 голос
/ 16 сентября 2008

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

DoCmd.RunCommand acCmdUndo

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

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

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

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

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

1 голос
/ 29 августа 2008

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

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

DoCmd.RunCommand acCmdUndo
0 голосов
/ 29 августа 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...