Поделиться через


Индекс и первичный ключ не могут содержать значение Null (ошибка 3058)

Область применения: Access 2013 | Access 2016

Возможные причины:

  • Вы попытались добавить новую запись, но не ввели значение в поле, содержащее первичный ключ.

  • Вы попытались добавить значение NULL в поле первичного ключа.

  • Вы выполнили запрос, который пытался поместить значение NULL в поле первичного ключа.

Что такое первичный ключ?

Первичный ключ — это поле или набор полей в таблице, которые предоставляют Microsoft Access уникальный идентификатор для каждой строки. В реляционной базе данных, например, базе данных Access, вы распределяете вашу информацию по отдельным тематическим таблицам. В результате вы можете использовать связи для таблицы и первичные ключи, чтобы сообщить Access, как совместить данные обратно еще раз. С помощью полей первичных ключей Access быстро связывает данные из нескольких таблиц и сводит их для вас эффективным образом.

Часто в качестве первичного ключа в таблице используется уникальный номер идентификации, например, номер идентификатора или серийный номер или код. Например, в таблице "Клиенты" каждому клиенту может быть назначен уникальный код клиента. Поле кода клиента является первичным ключом.

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

Кроме того, Access гарантирует, что каждая запись имеет значение в поле первичного ключа, и это значение всегда уникально.

Что такое null?

Null — это значение, которое вы можете ввести в поле или использовать в выражениях или запросах, чтобы указать отсутствующие или неизвестные данные. В Microsoft Visual Basic ключевое слово Null указывает на значение Null. Некоторые поля, например поля первичных ключей, не могут содержать значение Null.

Решение

Чтобы решить эту проблему, необходимо ввести значение в поле первичного ключа перед переходом к другой записи.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.