Applies ToAccess para Microsoft 365 Access 2021 Access 2019 Access 2016

Ultima Atualização: 23 de janeiro de 2020

PROBLEMA

Ao criar um link para uma tabela no SQL Server que tem uma Coluna de Identidade, o Access identificará essa coluna normalmente como uma coluna de Numeração Automática.

Mostrar que a Coluna de Identidade é identificada como um campo de Numeração Automática

Em builds de Canal Atual (16.0.12325.*) da versão 1912 do Office 365 e do Office 2016/2019, as Colunas de Identidade não são corretamente identificadas e, em vez disso, serão reconhecidas como um Número.

A Coluna de Identidade não foi identificada corretamente como Numeração Automática

Isso acontece durante a criação de novos links por meio da interface do usuário ou por código, mas apenas para os novos links.  Os links existentes não serão afetados, a menos que o link seja atualizado.

O Access usa a identificação adequada de uma Coluna de Identidade para várias finalidades, para isso ter impacto nos aplicativos de várias maneiras.

Por exemplo, uma Coluna de Identidade geralmente é usada para identificar um registro adicionado recentemente.  Quando a Coluna de Identidade não é usada, o Access não consegue encontrar corretamente a linha adicionada recentemente, o que fará com que os campos nessa linha sejam mostrados como #excluído.

Linha que mostra os campos excluídos

Pode ocorrer problemas semelhantes ao usar a propriedade RecordSet.LastModified para recuperar valores para o último registro adicionado. O código a seguir:

Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn")

rst.AddNew
rst!CompanyName = "Contoso"
rst.Update

rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName

Pode resultar no erro 3167:

Erro que indica que o registro foi excluído.

Em ambos os casos, o registro será adicionado com êxito, mas o Access não conseguirá encontrá-lo.

O Access também ignorará as tentativas de atualizar diretamente a Coluna de Identidade. No entanto, ocorre a tentativa nesses builds, mas falha e gera uma mensagem de erro:

[SQL Server] Não é possível inserir um valor explícito para a coluna de identidade na tabela “tblOrders” quando IDENTITY_INSERT estiver desativado. (#544)

STATUS: CORRIGIDO

A correção para este problema já está disponível para a Versão 1912.  Talvez seja necessário forçar explicitamente uma atualização a receber a correção.  O número de Build fixo deve ser 12325.20344.

Se você estiver no Insiders Slow (versão 2001) ou no Insiders Fast (versão 2002). A correção ainda não foi entregue nesses canais, portanto, convém mudar para o Canal Atual.

Observação: Depois de alterar as versões anteriores, atualize os links afetados para garantir que eles se comportem corretamente novamente.

Ícone de Especialistas (cérebro, engrenagens)

Pergunte aos especialistas

Conecte-se com especialistas, participe de discussões sobre as mais recentes novidades, atualizações e práticas recomendadas, e leia o nosso blog.

Microsoft Tech Community

Ícone da Comunidade

Encontre ajuda na comunidade

Faça uma pergunta e encontre as soluções com os Agentes de Suporte, MVPs, Engenheiros e outros usuários do Office.

Fórum do Office no Answers

Ícone de Solicitação de recursos (lâmpada, ideia)

Sugira um novo recurso

É um prazer ler seus comentários e sugestões! Compartilhe suas ideias. Estamos ouvindo.

Fazer comentários

Confira também

Correções ou soluções alternativas para problemas recentes do Access

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.