Access non riconosce la colonna Identity in una tabella di SQL Server collegata

Ultimo aggiornamento: 23 gennaio 2020

PROBLEMA

Durante la creazione di un collegamento a una tabella di SQL Server che contiene una colonna Identity, Access identificherà normalmente la colonna come colonna di Numerazione automatica.

Colonna Identity identificata come campo Numerazione automatica

Nelle build del Canale corrente (16.0.12325.*) della versione 1912 di Office 365 e Office 2016/2019, le colonne Identity non vengono identificate correttamente e vengono riconosciute solo come di tipo numerico.

Colonna Identity non correttamente identificata come Numerazione automatica

Questo problema si verifica quando si creano nuovo collegamenti usando l'interfaccia utente o tramite il codice, ma esclusivamente nel caso di nuovi collegamenti.  Il problema non riguarda i collegamenti esistenti a meno che non vengano aggiornati.

Access usa l'identificazione corretta di una colonna Identity per diversi scopi, di conseguenza questo problema può influire a vario titolo sulle applicazioni.

Di solito si usa una colonna Identity, ad esempio, per identificare un nuovo record aggiunto.  Quando non si usa la colonna Identity, Access potrebbe non riuscire a trovare correttamente la nuova colonna aggiunta, di conseguenza i campi in tale riga vengono contrassegnati come #Eliminato.

Riga con i campi che indicano che è stato eliminato

È possibile riscontrare problemi analoghi quando si usa la proprietà RecordSet.LastModified per recuperare valori per l'ultimo record aggiunto. Con il codice seguente:

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

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

rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName

Potrebbe essere restituito l'errore 3167:

Messaggio di errore che indica che il record è stato eliminato.

In entrambi i casi il record verrà comunque aggiunto, ma Access non riuscirà a trovarlo.

Ignorerà inoltre i tentativi di identificare direttamente la colonna Identity. In queste build, però, consente di eseguire il tentativo, che tuttavia non riesce, e visualizza un messaggio di errore:

[SQL Server] Quando IDENTITY_INSERT è OFF non è possibile inserire un valore esplicito per la colonna Identity nella tabella 'tblOrders'. (#544)

STATO: RISOLTO

La correzione di questo problema è ora disponibile per la versione 1912.  Potrebbe essere necessario forzare in modo esplicito un aggiornamento per ricevere la correzione.  Il numero della build corretta deve essere 12325.20344.

Se si è utenti Insider Slow (versione 2001) o Insider Fast (versione 2002). La correzione non è ancora stata recapitata in questi canali, quindi è consigliabile passare al Canale corrente.

Nota: Dopo la modifica delle versioni, è necessario aggiornare tutti i collegamenti interessati per assicurarsi che si comportino di nuovo correttamente.

Icona esperti (cervello, ingranaggi)

Incontrare gli esperti

Connettersi con gli esperti, discutere le ultime novità di Excel, gli aggiornamenti e le procedure consigliate e leggere il blog.

Microsoft Tech Community

Icona community

Ottenere assistenza nella community

Porre una domanda e ottenere soluzioni da operatori del supporto, MVP, tecnici e altri utenti di Excel.

Forum di Office in Answers

Icona di richiesta funzionalità (lampadina, idea)

Suggerire una nuova funzionalità

Microsoft apprezza i suggerimenti e il feedback sull'uso dei suoi prodotti. Gli utenti sono invitati a condividere idee e suggerimenti. Ogni idea verrà presa in considerazione.

UserVoice per Office

Vedere anche

Correzioni o soluzioni alternative per problemi recenti in Access

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×