Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Последнее обновление: 23 Января, 2020

ПРОБЛЕМА

При создании связи с таблицей в SQL Server, содержащей столбец идентификаторов, приложение Access обычно определяет этот столбец как столбец счетчика.

Представление, в котором столбец идентификаторов определен как поле счетчика

В сборках Актуального канала (16.0.12325.*) версии 1912 Office 365 и Office 2016/2019 столбцы идентификаторов определяются неправильно как числовые столбцы.

Столбец идентификаторов, не определенный как счетчик

Это происходит при создании связей в пользовательском интерфейсе или с помощью кода, но только для новых связей.  Существующие связи не будут затронуты, если они не обновляются.

Access использует соответствующую идентификацию столбца идентификаторов по нескольким причинам, поэтому это может влиять на приложения разными способами.

Например, столбец идентификаторов обычно используется для определения только что добавленной записи.  Если столбец идентификаторов не используется, Access не сможет правильно найти добавленную строку, в результате чего поля в этой строке будут отображаться со значением #Удалено.

Строка, содержащая поля с текстом "Удалено"

Аналогичные проблемы могут возникать при использовании свойства 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 установлено значение OFF. (#544)

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

Исправление для этой проблемы теперь доступно для версии 1912.  Для получения исправления может потребоваться принудительно выполнить обновление.  Исправленный номер сборки должен быть 12325.20344.

Если вы используете Insiders Slow (Версия 2001) или Insiders Fast (Версия 2002). В этих каналах это исправление еще недоступно, поэтому вам может потребоваться перейти на Актуальный канал.

Примечание: После изменения версий необходимо обновить все затрагиваемые ссылки, чтобы убедиться в том, что они корректно работают.

Значок эксперта (работа мозга, механизм)

Общение с экспертами

Обращайтесь к экспертам, обсуждайте новости, обновления и рекомендации, а также читайте наш блог.

Сообщество Microsoft Tech Community

Значок сообщества

Поддержка сообщества

Задавайте вопросы сотрудникам службы поддержки, MVP, инженерам и другим пользователям Office и находите решения.

Форум Office на сайте Answers

Значок предложения функции (лампочка, идея)

Предложение новых функций

Мы будем рады вашим отзывам и предложениям. Вам наверняка есть, что сказать. Поделитесь с нами своими мыслями.

Отправка отзывов

См. также

Исправления и временные решения для последних проблем в Access

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×