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.
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.
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.
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:
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.
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.
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.
Sugira um novo recurso
É um prazer ler seus comentários e sugestões! Compartilhe suas ideias. Estamos ouvindo.
Confira também
Correções ou soluções alternativas para problemas recentes do Access