文章編號: 328828 - 上次校閱: 2004年11月24日 - 版次: 2.1

如何疑難排解當您更新資料,在 Access 查詢和 Access 表單時,可能會發生的錯誤

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
中級使用者: 需要基本巨集]、 [程式碼撰寫,] 以及 [交互操作性技巧。

本文可套用於 [Microsoft Access 資料庫 (.mdb) 和 Microsoft Access 專案 (.adp)。

在此頁中

全部展開 | 全部摺疊

結論

本文將告訴您,當您更新在查詢和表單中的資料,在 Access 2000 中可能發生的錯誤。本文也將告訴您這些錯誤,以及如何疑難排解這些錯誤的原因。

當想更新查詢或表單的資料可能會收到下列錯誤訊息之一:

作業必須使用可更新的查詢。

-或者-

此資料錄集不是可更新。

其他相關資訊

疑難排解當您更新在查詢中的資料時,可能會發生的問題的相關資訊

  • 當查詢以三個或多個資料表為基礎,並且-至-一個-至-多關聯性時,您不能更新直接在查詢資料。您可以更新資料,在表單或資料頁中。您可以這樣查詢為基礎當表單的 [記錄集類型] 屬性設定為 動態資料表 (不一致更新)。
  • 當查詢交叉資料表查詢您不能更新查詢中的資料。
  • 當查詢 Microsoft SQL 通過查詢您不能更新查詢中的資料。
  • 查詢會計算加總、 平均值、 一個計數或其他類型合計的欄位中值時, 無法更新在查詢中的資料。而且,您無法更新參考 「 更新至 」 列中的欄位中一個交叉資料表、 查詢、 選取查詢或含有合計或聚合函數子查詢的查詢。如果要解決這個問題,使用 [更新查詢的 [更新至 」 列中的 網域聚合 函數]。您可以從交叉資料表查詢、 選取查詢或子查詢含有合計或聚合函數參照欄位。
  • 當查詢聯集查詢無法更新在查詢中的資料。
  • 當查詢的 [唯一值] 屬性設定為 [是] 時,您不能更新查詢中的資料。如果要解決這個問題,設定 [為 [否] 的 [查詢的 [唯一值] 屬性]。
  • 當查詢包含連結的 ODBC 資料表具有唯一的索引或 Paradox 表格沒有主索引鍵時,您不能更新查詢中的資料。如果要解決這個問題,新增到連結資料表的 [主索引鍵或唯一的索引]。
  • 當您不需要 更新資料 的查詢或基礎權限表格,您無法更新資料。若要解決這個問題,指派的權限可更新資料。
  • 當查詢包含一個以上的資料表或一個查詢資料表或查詢不是連接線線聯結的在 [設計] 檢視中無法更新在查詢中的資料。如果要解決這個問題,您必須連結資料表正確地讓您可以更新。
  • 當您想要更新的欄位計算的欄位無法更新在查詢中的資料。
  • 當您嘗試更新的欄位是唯讀時,資料庫是開啟成唯讀,或資料庫位於唯讀磁碟機時,您不能更新查詢中的資料。若要避免這個問題,請不要開啟為唯讀資料庫。如果資料庫位於上是唯讀的磁碟機,從磁碟機中移除唯讀屬性,或將資料庫移到不是唯讀的磁碟機。
  • 當在您嘗試更新的記錄欄位會被刪除或被另一個使用者鎖定將時, 無法更新在查詢中的資料。可更新鎖定的記錄,只要資料錄已解除鎖定。
  • 當查詢根據一個對多關聯的資料表時,然後類型的可能無法修改的欄位如下所示:
    • 從"一"邊的欄位結合。
    • "多"那邊的聯結欄位並不會顯示在資料工作表。
    • 從"多"那邊的欄位結合之後您更新 「 一 」 這邊的資料。
    • 來自資料表的一對多關聯性與外部聯結的 「 一 」 方的空白欄位存在。
    • ODBC 資料表的整個唯一索引鍵不是輸出。
    如果您採取正確的動作,從下列清單,可以解決任何一種這些問題:
    • 啟用兩個資料表間串接更新。
    • 從"多"邊] 新增聯結欄位至您的查詢以便新增新資料錄。
    • 儲存記錄。您可以變更 「 多 」 那邊的聯結欄位。
    • 輸入值欄位 」 資料表中 「 多 」 邊。只有在聯結的欄位,從"一"邊包含該資料錄的值時,才可以這樣做。
    • 選取 ODBC 資料表若要允許插入它們的所有主索引鍵的欄位。

疑難排解當您更新在表單中的資料時,可能會發生的問題的相關資訊

  • 如果表單根據含有多個資料表的預存程序,您不能更新表單中的資料。
  • 當您嘗試更新資料頁上的資料,並且發生下列情況之一,則為 True 時,您無法更新表單中的資料:
    • 頁面的資料來源並沒有主索引鍵、 唯一條件約束或唯一索引。
    • 沒有沒有主索引鍵、 沒有唯一的條件約束或頁面的結構描述中沒有唯一的索引。
    • 頁面沒有錄製巡覽控制項。
    如果要解決這些問題,執行適當的動作,從下列清單:
    • 加入頁面的資料來源的主索引鍵、 唯一條件約束或唯一索引。
    • 加入網頁的結構描述中主索引鍵、 唯一條件約束或唯一索引。

      若要將這些欄位的其中之一加入至結構描述,加入主索引鍵、 唯一條件約束或唯一索引欄位頁面的設計。這會自動將欄位新增到網頁的結構描述。如果您不要這個欄位出現在頁面上從頁面刪除它。這可讓 [] 欄位,以保留在結構描述。
    • 將錄製巡覽控制項加入至頁面。
  • 如果表單根據 ActiveX 資料物件 (ADO) 資料錄集,您不能更新表單中的資料。存取表單允許您如果使用 [MSDataShape 和 SQL Server OLEDB 提供者的組合來建立 ADO 資料錄集編輯 ADO 資料錄集的資料。

?考

如需詳細資訊按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中發行項]:
304179? (http://support.microsoft.com/kb/304179/EN-US/ ) ACC2000: 狀態列會顯示"的資料錄集不可以更新 」 訊息當您嘗試更新連結的資料表
227053? (http://support.microsoft.com/kb/227053/EN-US/ ) ACC2000: ADO 記錄集為基礎的表單是唯讀的
201990? (http://support.microsoft.com/kb/201990/EN-US/ ) ACC2000: 不能新增、 編輯,或刪除資料頁上的資料錄

這篇文章中的資訊適用於:
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Access 2003
關鍵字:?
kbmt kbhowto kbtshoot kbfaq kbinfo kbdta kbprb KB328828 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:328828? (http://support.microsoft.com/kb/328828/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。