Como consertar “O Mudanças Você Solicitado para a tabela não foi bem-sucedido (Erro 3022)” no Access?

Ao manusear o banco de dados Microsoft Access, os usuários geralmente encontram vários erros e problemas que atrapalham seu fluxo de trabalho. Uma dessas mensagens de erro que os usuários estão enfrentando e relatando atualmente é: “The changes you requested to the table were not successful …” no Access. Normalmente ocorre quando eles tentam adicionar um novo registro na tabela do banco de dados que possui o campo Autonumber. No entanto, pode ser irritante receber esse erro, pois restringe a execução de atividades no banco de dados, portanto, deve ser resolvido o mais rápido possível.

Aqui está a captura de tela do erro:

Mudanças Você Solicitado para a tabela não foi bem-sucedido

Portanto, neste blog, falarei detalhadamente sobre o erro 3022 do MS Access, juntamente com os motivos que o desencadearam e fornecerei soluções práticas para corrigi-lo.

Avaliado como Excelente em Trustpilot
Ferramenta Gratuita de Reparo de Banco de Dados do MS Access
Repare arquivos de banco de dados MDB e ACCDB corrompidos e recupere tabelas de banco de dados, consultas, índices e registros excluídos facilmente. Tente agora!

Correções rápidas:

O que significa o erro de Access “O Mudanças Você Solicitado para a tabela não foi bem-sucedido”?

Quando você encontrar a mensagem de erro mencionada abaixo ao tentar inserir um novo registro na tabela do banco de dados, significa que há valores duplicados no índice, chave primária ou relacionamento.

The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.

Pode haver vários motivos por trás desse erro. Aqui listei os fatores mais comuns:

  • Corrupção no conjunto de especificações.
  • O banco de dados de acesso foi compactado de alguma forma.
  • A tabela contém um campo de numeração automática que não foi propagado novamente corretamente.
  • Você deve ter instalado o Microsoft Jet 4.0 Database Engine Service Pack 8 (SP8).
  • Talvez você tenha anexado os dados da tabela vinculada 1 à tabela vinculada 2 usando a opção Banco de dados atual no lugar de Outro banco de dados. Exclua o registro da tabela vinculada 1 e anexe novamente o registro exato da tabela vinculada 2 usando a opção Banco de dados atual.

As soluções para corrigir as O Mudanças Você Solicitado para a tabela não foi bem-sucedido

Esta seção contém várias soluções alternativas para resolver o erro 3022 do MS Access.

Solução 1 – Usar uma consulta de definição de dados

O primeiro método que você precisa tentar é usar a consulta de definição de dados para abrir o banco de dados Access.

Para usuários do Access 2007:

  • Acesse a aba Criar; clique em Design de Consulta em Outro
  • Na caixa de diálogo Mostrar tabela, toque na opção fechar.
  • Agora vá para a guia Design, clique na visualização SQL nos Resultados
  • Digite o seguinte na janela Consulta1:

Mudanças Você Solicitado para a tabela não foi bem-sucedido

ALTER TABLE TableNameALTER COLUMN AutoNumFieldNameCOUNTER(iMaxID,1);

Observação:

TableName é um espaço reservado para o nome da tabela. AutoNumFieldName é um espaço reservado para o nome do campo Autonumber. iMaxID é um espaço reservado para o valor máximo atual no campo mais 1.

  • Na guia Design, toque na opção Executar em Resultados.

Para usuários do Access 2003:

  • Clique em consultas em objetos na janela do banco de dados.
  • Depois disso, clique em Novo, clique em Design View e depois clique em OK.
  • Na caixa de diálogo Mostrar tabela aberta, clique na opção fechar.
  • No menu de consulta, clique em Específico de SQL e em Definição de Dados.

Mudanças Você Solicitado para a tabela não foi bem-sucedido

  • Na janela Consulta de definição de dados, digite o seguinte command.ALTER TABLE TableNameALTER COLUMN AutoNumFieldNameCOUNTER(iMaxID,1); Note:

Aqui, TableName significa claramente o nome da tabela. E AutoNumFieldName indica o nome do campo Autonumber. Considerando que o iMaxID representa o valor máximo atual no campo mais 1.

  • No menu Consulta, clique em Executar.

Leia também: Corrija o erro de acesso “Você não tem acesso exclusivo ao banco de dados neste momento”

Solução 2 – Execute o Visual Basic para código do aplicativo

Access 2007

  • Vá para a guia Criar, clique na seta para baixo em Macro e clique em Módulo.

Access 2003

  • Vá para a janela do banco de dados, clique em Módulos em Objetos e clique em Novo.
  • Depois, no Editor do Visual Basic, cole o código a seguir.

Sub ResetAuto()

Dim iMaxID As Long

Dim sqlFixID As String

  iMaxID = DMax(“<AutonumberFieldName>”, “<TableName>”) + 1          

  sqlFixID = “ALTER TABLE <TableName> ALTER COLUMN <AutonumberFieldName> COUNTER(” & <iMaxID> & “,1)”

  DoCmd.RunSQL sqlFixID

End Sub

Note The placeholder <AutonumberFieldName> represents the name of the Autonumber field. The placeholder <TableName> represents the name of the table.

  1. No menu Executar, clique em Executar Sub/UserForm.

Observação:

Feche a tabela antes de usar qualquer um dos métodos. Você não precisa salvar a consulta ou o módulo depois de usar com sucesso qualquer um dos dois métodos acima.

Solução 3 – Corrija as alterações solicitadas na tabela que não foram bem-sucedidas, removendo a chave primária atual

Para resolver o erro de Access ‘3022’: As alterações solicitadas na tabela não foram bem-sucedidas no banco de dados Access 2013/2016. O usuário precisa projetar as tabelas para eliminar a possibilidade de inserir valores duplicados no campo de chave primária ou campo que utiliza um índice exclusivo.

Se a chave primária usada precisar suportar valores duplicados, você deverá remover a chave primária atual e adicionar um campo AutoNumber à sua tabela que funcione como uma chave primária.

Para remover a chave primária

A remoção da chave primária não excluirá os campos ou campos da sua tabela. Em vez disso, remove a designação de chave primária desses campos.

Também remove o índice da chave primária que foi criada para a chave primária.

  • Antes de excluir a chave primária, certifique-se de que ela não contenha nenhum relacionamento de tabela. Se você ainda tentar remover a chave primária que contém as relações, o Access avisará que você deve primeiro excluir a relação.
  • Agora, no painel de navegação, clique com o botão direito na tabela da qual deseja remover a chave primária e toque na opção Design View.
  • Toque no seletor de linha atual para obter a chave primária mais recente.
  • Se a chave primária contiver um único campo, clique no seletor de linha desse campo.
  • Mas se consistir em vários campos, pressione o seletor de linha para qualquer campo da chave primária.

Mudanças Você Solicitado para a tabela não foi bem-sucedido

  • Agora vá para a aba Design no grupo Ferramentas e clique na opção Chave Primária.

Depois de realizar este procedimento completo, você verá que o indicador-chave foi removido do campo ou campos que você especificou anteriormente como chave primária.

Para adicionar uma chave primária de numeração automática

Quando qualquer usuário cria uma nova tabela no modo de folha de dados, o Access, por padrão, cria uma chave primária para você e atribui a ela o tipo de dados Numeração Automática.

  Se você tiver uma tabela existente à qual deseja adicionar um campo de chave primária, abra-a na visualização de design:

  • Vá para o Painel de Navegação e clique com o botão direito na tabela à qual deseja adicionar a chave primária, depois clique na Visualização Design.
  • Agora localize a primeira linha vazia na grade de design da tabela.
  • Na coluna Nome do campo, atribua algum nome.
  • Na coluna Tipo de dados, clique na seta suspensa e toque na opção Numeração automática.

Mudanças Você Solicitado para a tabela não foi bem-sucedido

  • Nas Propriedades do Campo, em Novos Valores, clique na opção Incrementar para usar valores numéricos incrementais para a chave primária ou clique em Aleatório para usar números aleatórios.

Talvez você queira ver os índices da tabela para avaliar seu impacto no desempenho ou para garantir que campos específicos sejam indexados.

Leia também: Corrija o erro “Seu banco de dados do Microsoft Access contém referência quebrada ausente”

Solução 4 – Reparar o arquivo de banco de dados

Você pode até enfrentar o erro ‘as alterações solicitadas na tabela não foram bem-sucedidas porque criariam valor duplicado’ devido a corrupção ou arquivo db de grande porte. Nesse caso, usando o recurso Compactar e Reparar no Access, você pode compactar e reparar arquivos de banco de dados corrompidos.

Siga as etapas abaixo:

  • Aplicativo Open Access.
  • Clique na página Modelos >> Banco de dados em branco.
  • Vá em Arquivo >> clique em Fechar.
  • Em seguida, navegue até Ferramentas de Banco de Dados >> clique em Compactar e Reparar Banco de Dados.

Mudanças Você Solicitado para a tabela não foi bem-sucedido

  • Escolha o banco de dados afetado nas janelas abertas.
  • Escolha uma opção Compacta.
  • Agora, o arquivo de banco de dados compactado e reparado será salvo no mesmo local onde o arquivo original foi salvo.

Solução 5 – E se os manuais falharem?

Se o erro de Access 3022 ocorreu devido a corrupção grave no banco de dados, opte pelo Access Reparar Ferramenta. É um programa influente que é capaz de consertar arquivos de banco de dados gravemente corrompidos (.ACCDB/.MDB).

Além disso, você pode até baixar a versão demo gratuita do software para verificar um arquivo corrompido e visualizar os dados recuperáveis.

* Ao clicar no botão Download acima e instalar o Stellar Repair for Access (14.8 MB), reconheço que li e concordo com o Contrato de licença do usuário final e a Política de privacidade deste site.

Etapas para resolver corrupção de banco de dados de acesso

access-repair-main-screen-pt-1
access-select-database-pt-2
access-repairing-pt-3
access-repairing-completed-pt-4
access-preview-pt-5
access-save-location-pt-6
access-saving-pt-7
previous arrow
next arrow

Embrulhar Up:

Esperançosamente, todas as correções mencionadas acima irão ajudá-lo a resolver este erro de tempo de execução 3022 do MS Access. Depois de usar essas correções, compartilhe suas opiniões em nossas contas sociais como o Twitter.

Ainda está com problemas? Corrija-os com Stellar reparação para Access:

Este software garante sem costura reparo e recuperação do banco de dados ACCDB e MDB. Ele restaura todos os objetos, incluindo tabelas, relatórios, consultas, registros, formulários e índices, juntamente com módulos, macros, etc. Corrija os problemas do Microsoft Access agora em 3 etapas fáceis:

  1. Baixar Stellar Access banco de dados reparo ferramenta avaliado Excelente sobre Cnet.
  2. Clique nas opções Browse e Pesquisa para localizar um banco de dados corrompido do Access.
  3. Clique no botão Reparar para reparar e pré-visualização os objetos do banco de dados.

Pearson Willey é escritor de conteúdo de sites e longo- planejador de conteúdo do formulário. Além disso, ele também é um ávido leitor. Assim, ele sabe muito bem como escrever um conteúdo atraente para os leitores. Escrever é como uma vantagem crescente para ele. Ele adora explorar seu conhecimento no MS Access e compartilhar blogs de tecnologia.