Последна актуализация: 23 януари 2020 г.
ПРОБЛЕМ
Когато създавате връзка към таблица в SQL Server, която има колона за самоличност, Access обикновено ще идентифицира тази колона като колона "Автономериране".
В компилирания на текущия канал (16.0.12325.*) на версия 1912 от Office 365 и Office 2016/2019 колоните за самоличност не са правилно идентифицирани и вместо това ще бъдат разпознати само като число.
Това ще се случи, когато създавате нови връзки чрез потребителския интерфейс или чрез код, но само за нови връзки. Съществуващите връзки няма да бъдат засегнати, освен ако връзката не се обнови.
Access използва правилното идентифициране на колона за самоличност за редица цели, така че това може да повлияе на приложенията по няколко начина.
Например колоната за самоличност обикновено се използва за идентифициране на новодобавения запис. Когато колоната за самоличност не се използва, Access може да не може да намери правилно новодобавения ред, което ще доведе до показването на полетата в този ред като #Deleted.
Може да видите подобни проблеми, когато използвате свойството RecordSet.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.
Ако сте на Insiders Slow (версия 2001) или Insiders Fast (версия 2002). Корекцията все още не е доставена в тези канали, така че може да искате да преминете към Текущ канал.
Забележка: След като промените версиите, трябва да обновите всички засегнати връзки, за да се уверите, че те се държат правилно отново.
Попитайте експертите
Свържете се с експерти, дискутирайте последните новини, актуализации и най-добри практики и прочетете нашия блог.
Получаване на помощ в общността
Задайте въпрос и намерете решения от агенти по поддръжката, най-ценни специалисти, инженери и други потребители на Office.
Предлагане на нова функция
Обичаме да четем вашите предложения и обратната връзка! Споделете какво мислите. Слушаме ви.
Вж. също
Корекции или заобиколни решения за най-новите проблеми в Access