索引或主索引鍵不可包含 Null 值 (錯誤 3058)
適用於:Access 2013 | Access 2016
可能的原因:
您嘗試新增一筆記錄,但並未在包含主索引鍵的欄位中輸入值。
您嘗試將 Null 值新增至主索引鍵欄位。
您執行了一個查詢,它嘗試將 Null 值放在主索引鍵欄位中。
什麼是主索引鍵?
主索引鍵是資料表中的一個或一組欄位,這會提供每一個資料列的唯一識別碼給 Microsoft Access。 在關聯式資料庫 (例如 Access 資料庫) 中,資訊會根據主題區分且個別存放在主題式的資料表中。 然後您需要使用資料表關聯性及主索引鍵,來告訴 Access 如何重組這些資訊。 Access 會使用主索引鍵欄位,來建立多重資料表資料之間的關聯性,並以有意義的方式組合資料。
識別碼或序號或代碼等唯一識別碼,通常可做為資料表中的主索引鍵。 例如,您可以建立「客戶」資料表,並在當中給每個客戶指派一組唯一的客戶識別碼編號。 此客戶識別碼欄位便會是主索引鍵。
不佳的主索引鍵選擇的範例為名稱或位址。 這兩者都包含可能隨著時間變更的資訊。
Access 會確保主索引鍵欄位中每筆記錄都具有值,且是唯一的值。
什麼是 Null?
Null 是您可在欄位中輸入或在運算式中使用的值,或是表示遺失或不明資料的查詢。 在 Microsoft Visual Basic 中,Null 關鍵字代表 Null 值。 某些欄位 (例如主索引鍵欄位) 無法包含 Null。
解決方案
若要解決此問題,您必須在主索引鍵欄位中輸入一個值,才能前往下一筆記錄。
另請參閱
- 存取開發人員論壇
- 在 support.office.com 上存取說明
- 在 answers.microsoft.com 上存取說明
- 存取 UtterAccess 上的論壇
- 存取開發人員和 VBA 程式設計說明中心 (FMS)
- 存取 StackOverflow 上的文章
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應