Moderado: Requer habilidades básicas de macro, codificação e interoperabilidade. Este artigo se aplica a um banco de dados do Microsoft Access (.mdb) e a um projeto microsoft access (.adp).

Sintomas

Ao eitar dados que usam várias formas que têm a mesma fonte de registro, você pode receber a seguinte mensagem de erro:

Este registro foi alterado por outro usuário desde que você começou a editá-lo. Se você salvar o registro, você substituirá as alterações feitas pelo outro usuário. Copiar as alterações na prancheta permitirá que você analise os valores inseridos pelo outro usuário e, em seguida, aumente suas alterações de volta se você decidir fazer alterações.

Em seguida, você pode clicar em um dos seguintes três botões:

  • Salvar recorde

  • Copiar para área de transferência

  • Mudanças de queda

Causa

Esse comportamento ocorre quando você abre duas formas que atualizam a mesma fonte de dados ao mesmo tempo. O primeiro formulário coloca um bloqueio de eitamento no registro ou registros, e, em seguida, o segundo formulário muda o registro ou registros e salva as alterações. Quando o primeiro formulário tenta fechar e escrever de volta para a mesa, as alterações que foram feitas pela segunda forma são detectadas. Isso faz com que o erro seja devolvido.

Resolução

Para contornar esse comportamento, use qualquer um dos dois métodos listados para um arquivo de banco de dados (.mdb) do Microsoft Access ou o método listado para um arquivo de projeto de acesso (.adp).

Para um arquivo de banco de dados do Microsoft Access (.mdb)

Método 1

Defina a propriedade RecordLocks do formulário para registro editado. Para fazer isso, siga estes passos:

  1. Abra o formulário em Design View. Nota No Access 2007, vá para o passo 3.

  2. No menu View, clique em Propriedades.

  3. Na aba Dados, altere a propriedade record locks para registro editado.

Método 2

Adicione o código ao procedimento do evento OnDeactivate de ambos os formulários para salvar o registro. Para fazer isso, siga estes passos:

  1. Abra o formulário em Design View. Nota No Access 2007, vá para o passo 4.

  2. No menu View, clique em Propriedades.

  3. No menu Edit, clique no Select Form.

  4. Na aba do evento, clique direito na caixa de propriedade OnDeactivate e, em seguida, clique em Construir.

  5. Na caixa De Escolha do Construtor, clique no Code Buildere, em seguida, clique na OK.

  6. Digite ou colar o seguinte código:

    DoCmd.RunCommand acCmdSaveRecord
  7. Abra a segunda forma na vista do design e repita os passos 2 a 6.

Para um arquivo do Microsoft Access Project (.adp):

Adicione o código aos procedimentos do evento OnDeactivate e OnActivate de ambos os formulários para salvar o registro. Para fazer isso, siga estes passos:

  1. Abra o formulário em Design View. Nota No Access 2007, vá para o passo 4.

  2. No menu View, clique em Propriedades.

  3. No menu Edit, clique no Select Form.

  4. Na aba do evento, clique direito na caixa de propriedade OnDeactivate e, em seguida, clique em Construir.

  5. Na caixa De Escolha do Construtor, clique no Code Buildere, em seguida, clique na OK.

  6. Digite ou colar o seguinte código:

    DoCmd.RunCommand acCmdSaveRecord
  7. No menu arquivo, clique em Fechar e retornar ao Microsoft Access.

  8. Na aba do evento, clique à direita na caixa de propriedade OnActivate e, em seguida, clique em Construir.

  9. Na caixa De Escolha do Construtor, clique no Code Buildere, em seguida, clique na OK.

  10. Digite ou exlique o código a seguir: Observe o código de amostra deste artigo usa objetos de dados Microsoft ActiveX. Para que esse código seja executado corretamente, você deve fazer referência à Biblioteca de Objetos de Dados 2.x do Microsoft ActiveX (onde 2.x é 2.1 ou mais tarde). Para fazer isso, clique em referências no menu Ferramentas no Editor Básico Visual e certifique-se de que a caixa de seleção da Biblioteca de Objetos de Dados 2.x do Microsoft ActiveX seja selecionada.

    Dim rs As ADODB.RecordsetSet rs = Me.Recordset.Cloners.Bookmark = Me.BookmarkDoCmd.RunCommand acCmdRefreshMe.Bookmark = rs.Bookmarkrs.CloseSet rs = Nothing
  11. Abra a segunda forma na vista do design e, em seguida, repita os passos 2 a 10.

Informações adicionais

Etapas para reproduzir o comportamento no Acesso 2003

  1. Acesso aberto.

  2. No menu Help, aponte para bancosde dados de amostra e, em seguida, clique no Northwind Sample Database.

  3. Na janela do banco de dados, clique em tabelas em objetose, em seguida, clique na tabela de funcionários.

  4. No menu de inserção, clique em AutoForm.

  5. Salve o formulário como frmNewEmployees.

  6. Abra o formulário dos empregados, e mude então o campo do primeiro nome a Nancy1.

  7. Abra o formulário frmNewEmployees, e depois mudar o campo de primeiro nome para Nancy2.

  8. Feche o formulário frmNewEmployees.

  9. Feche o formulário de funcionários. Note-se que você recebe a mensagem "Write Conflict" que é mencionada na seção "Sintomas" deste artigo.

Para obter informações adicionais, clique nos seguintes números de artigos para visualizar os artigos na Base de Conhecimento da Microsoft:

304181 erro de conflito inesperado escrever quando você fechar um formulário

280730 ACC2000: Escreva erro de conflito quando você tenta atualizar registros em uma tabela de servidor sql vinculada

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×