Excluir Registros do banco de dados do Access, de erro durante a exclusão de

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

  •  09-06-2019
  •  | 
  •  

Pergunta

Eu tenho a seguinte situação:Eu criei um formulário com um subformulário (os registros que estão vinculados aos registros do formulário principal através de certos chave).Quando tento excluir qualquer registro no subformulário, recebo a seguinte mensagem:"O acesso suspendeu a ação, porque você e outro usuário tentou alterar os dados" (tradução aproximada do alemão).Alguém sabe como excluir os registros do subformulário (e, respectivamente, da tabela por trás do formulário).

Foi útil?

Solução

Se você está actualmente a 'edição' a forma atual, então ele não vai permitir a ação.A edição de um registro, por vezes, pode ser acionado clicando dentro de um campo, ou outras ações simples que você normalmente não considerar a 'edição'.

Isso geralmente é evitado no Access utilizando o método Executarcomando para desfazer as edições antes de excluir o registro:

DoCmd.RunCommand acCmdUndo

Outras dicas

samjudson sugerido:

DoCmd.Executarcomando acCmdUndo

Você também pode usar-Me.Desfazer para desfazer a última edição da forma em que o código é executado.

Ou, De Mim!MySubForm.O formulário.Desfazer para desfazer a última não salvos editar no subformulário cujo controlo de subformulário é chamado de "MySubForm".

Você também pode usar-Me!MyControl.Anular para cancelar a última edição de um determinado controle.

"DoCmd.Executarcomando acCmdUndo" irá aplicar a operação de Desfazer para o objeto atualmente selecionado, mas você não sabe com certeza se ele vai aplicar no controle ou de nível de formulário.Usando os comandos sugeri completamente remove a ambiguidade que fica desfeita.

Tenha em mente, porém, que Desfaça não irá desfazer edições para um controle após o controle do evento AfterUpdate foi acionado, ou para um formulário depois de seu evento AfterUpdate foi acionado (por exemplo, os dados que foram salvos para a tabela de dados subjacente).

Verifique, também, a "linha" mecanismo de travamento" o que você tem.Eu não tenho usado de Acesso em quando, mas lembro-me que você poderia usar definir que, em propriedades da tabela.Você pode acessar essas propriedades clicando no famoso "ponto" no canto superior esquerdo da tabela para exibir suas propriedades.Bem, se você está usando o Access, você sabe do que eu estou falando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top