Access не разпознава колоната самоличност в таблица със свързани SQL Server

Последна актуализация: 23 януари 2020

ПРОБЛЕМ

Когато създавате връзка към таблица в SQL Server, която има колона за самоличност, Access обикновено ще идентифицира колоната като колона с автономериране.

Покажи тази колона за самоличност като поле за автономериране

В текущите компилации на канал (16.0.12325. *) на версия 1912 на Office 365 и Office 2016/2019 колоните за самоличност не се идентифицират правилно и вместо това ще бъдат разпознати само като число.

Колоната "самоличност" не е правилно идентифицирана като "автономериране"

Това ще се случи, когато създавате нови връзки през потребителския интерфейс или чрез код, но само за нови връзки.  Съществуващите връзки няма да бъдат засегнати, освен ако връзката не се обнови.

Access използва правилната идентификация на колона за самоличност за редица цели, така че това може да окаже влияние върху приложенията по няколко начина.

Например колоната за самоличност обикновено се използва за идентифициране на току-що добавен запис.  Когато колоната за самоличност не се използва, достъпът може да не успее да намери правилно добавения ред, което ще накара полетата в този ред да се покажат като #Deleted.

Ред, показващ полета, които казват "изтрита"

Възможно е да видите подобни проблеми, когато използвате свойството набор от записи. LastModified за извличане на стойности за последния добавен запис. Следния код:

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

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

rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName

Може да доведе до грешка 3167:

Грешка, показваща, че записът се изтрива.

И в двата случая записът ще бъде успешно добавен, но Access няма да успее да го намери успешно.

Също така Access обикновено ще игнорира опитите за актуализиране на колоната за самоличност директно. Но в тези компилации позволява Опитът, но не успява и генерира съобщение за грешка:

[SQL Server] Не могат да се вмъкват изрични стойности за колоната "самоличност" в таблицата "tblOrders", когато IDENTITY_INSERT е зададено на изкл. (#544)

СЪСТОЯНИЕ: ПОПРАВЕНО

Корекцията за този проблем вече е налична за версия 1912.  Може да се наложи изрично да принудите дадена актуализация да получи корекцията.  Фиксираният номер на компилация трябва да е 12325,20344.

Ако сте участник в Insider Slow (версия 2001) или участници в Insider Fast (версия 2002). Корекцията все още не се доставя в тези канали, така че може да се наложи да се придвижат към текущия канал.

Забележка: След като промените версиите, трябва да обновите всички засегнати връзки, за да се уверите, че те се държат правилно.

Експерти по икони (мозък, зъбни колела)

Попитайте експертите

Свържете се с експерти, дискутирайте последните новини, актуализации и най-добри практики и прочетете нашия блог.

Техническа общност на Microsoft

Общност за икони

Получаване на помощ в общността

Задайте въпрос и намерете решения от агенти по поддръжката, най-ценни специалисти, инженери и други потребители на Office.

Форум за Office в Answers

Искане за функция за икона (електрическа крушка, идея)

Предлагане на нова функция

Обичаме да четем вашите предложения и обратната връзка! Споделете какво мислите. Слушаме ви.

UserVoice за Office

Вж. също

Корекции или заобиколни решения за най-новите проблеми в Access

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×