編輯查詢中的資料

Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

您可能會遇到無法在查詢 [資料工作表] 檢視中編輯資料,以變更基礎資料表中的資料的情況。 本文可協助您瞭解何時可以編輯查詢資料、何時無法編輯查詢資料,以及如何變更查詢的設計,以便編輯其基礎資料。

本文內容

簡介

當您在 [資料工作表檢視] 中開啟查詢時,您可能會發現自己想要編輯資料。 也許您注意到錯誤,或者您可能會看到一些過時的資訊。 視查詢的建置方式而定,您可以直接在查詢資料工作表中編輯資料。

如果您嘗試編輯查詢資料工作表中的資料,但沒有任何反應,或 Windows 播放音效但無法進行編輯,則您無法執行編輯。 可能是查詢本身無法進行編輯,例如交叉資料表查詢。 也可能只有您嘗試編輯的欄位無法進行編輯,例如,欄位是以彙總函數為基礎,例如平均值。 在任一種情況下,您或許可以執行某些動作來啟用編輯。

除了在查詢 [資料工作表檢視] 中編輯資料之外,您也可以使用更新查詢來更新資料表中的資料。 本文未涵蓋更新查詢。

如需更新查詢的詳細資訊,請參閱建立與執行更新查詢一文。

一般而言,當您想要在查詢 [資料工作表] 檢視中編輯資料時,您希望將變更儲存到查詢所依據的資料表。 如果您不想變更那些資料表中的資料,但仍想要編輯資料並在完成後保留編輯的資料,則可以使用產生資料表查詢來先建立一個新資料表,以供您編輯其資料。 您也可以使用產生資料表查詢,將不允許編輯為新資料表的查詢結果儲存為新資料表,然後編輯該新資料表中的資料。 本文不會討論如何建立及執行產生資料表查詢。

如需產生資料表查詢的詳細資訊,請參閱 建立產生資料表查詢一文。

頁面頂端

何時可以編輯查詢中的資料?

當查詢只是以一個資料表或兩個彼此之間具有一對一關聯性的資料為基礎時,您一律可以編輯查詢中的資料。

注意

即使您可以編輯查詢中的資料,其某些欄位可能無法編輯。 下列章節會列出這類情況。

頁面頂端

什麼時候我無法編輯查詢中的資料?

在下列情況下,您永遠無法編輯查詢中的資料:

  • 此查詢為交叉資料表查詢。

  • 查詢是 SQL 特有的查詢。

  • 您嘗試編輯的欄位是導出欄位。 在此情況下,您或許可以編輯其他欄位。

  • 查詢是以三個以上的資料表為基礎,且存在多對一對多關聯性。

    注意

    雖然在這種情況下您無法編輯查詢資料工作表,但當表單的 RecordsetType 屬性設定為 Dynaset (不一致匯報) 時,您就可以編輯表單中的資料。

  • 查詢包含 GROUP BY 子句。

頁面頂端

如何?變更查詢,以便編輯其資料?

下表列出了無法編輯查詢的情況,並搭配使查詢資料工作表可供編輯的方法配對。

在下列情況下,您無法編輯查詢資料工作表中的值: 若要使查詢資料工作表可供編輯:
查詢的 [唯一值] 屬性設為 [是]。 將查詢的 [唯一值 ] 屬性設為 [否]。
請參閱下列章節將 [唯一值] 屬性設為 [否],以了解如何設定此屬性。
查詢包含沒有唯一索引的連結 ODBC 資料庫資料表,或沒有主索引鍵的 Paradox 資料表。 使用連結資料庫廠商所提供的方法,將主索引鍵或唯一索引新增到連結資料表。
您沒有基礎資料表的 [更新資料] 權限。 指派更新資料權限。
查詢包含多個資料表或一個查詢,且 [設計檢視] 中的聯結線未連接資料表或查詢。 建立適當的聯結。
請參閱 建立聯結一節,以了解如何建立聯結。
資料庫是以唯讀方式開啟,或位於唯讀磁碟機上。 關閉資料庫並重新開啟,而不選取 [ 唯讀開啟];或者、如果資料庫位於唯讀磁碟機上、請從磁碟機中移除唯讀屬性、或將資料庫移至非唯讀磁碟機。
您嘗試更新的記錄中的欄位遭到刪除或已由其他使用者鎖定。 等待記錄解除鎖定。 一旦解除鎖定已鎖定的記錄,就可以更新該記錄。 等待其他使用者完成鎖定記錄的作業。
查詢是以具有一對多關聯性的資料表為基礎,而「多」端的連接欄位不是輸出欄位。 在這種情況下,無法編輯「一」端連接欄位中的資料。 將關聯性「多端」的連接欄位新增至查詢輸出欄位。
請參閱將 連接欄位從「多」端新增至查詢輸出欄位一節,以了解如何新增連接欄位。
在您編輯資料之後 (「多」端的聯結欄位) 位於「一」端。 SHIFT+F9 認可您的變更並重新整理查詢。
在一對多關聯的「一」端,資料表中有一個空白欄位,而且聯結是右外部聯結。 確定該欄位中的 “one” 面有值。 只有當「一」端的欄位中有值時,您才能編輯「多」端的連接欄位。
您使用的是連結的 ODBC 資料庫資料表,但並非所有來自連結資料表唯一索引的欄位都會出現在查詢輸出中。 將 ODBC 資料表唯一索引中的所有欄位新增至查詢輸出欄位。
請參閱從 連結的 ODBC 資料表新增唯一索引欄位一節,以了解如何新增欄位。

頁面頂端

將 [唯一值] 屬性設為 [否]

  1. 在 [設計檢視] 中開啟查詢。
  2. 如果 [屬性] 工作表 未開啟,請按 F4 開啟。 在查詢設計方格中按一次,以確保屬性表顯示查詢屬性,而不是欄位屬性。
  3. 在屬性工作表中尋找 [唯一值 ] 屬性方塊。 按一下旁邊的方塊,按一下該方塊中的箭號,然後按一下 [否]。

建立聯結

  1. 在 [設計檢視] 中開啟查詢。
  2. 針對您要聯結到另一個資料表或查詢的每個資料表或查詢,從該資料表或查詢中將聯結欄位拖曳至您要建立聯結的資料表或查詢中的對應欄位。

如需建立聯結的詳細資訊,請參閱 聯結表格和查詢一文。

將連接欄位從「多」端新增至查詢輸出欄位

  1. 在 [設計檢視] 中開啟查詢。
  2. 在查詢設計工具中,找到對應至相關一對多關聯性的聯結。
  3. 按兩下一對多關聯性中 [多] 端的連接欄位。 連接欄位會顯示在欄位方格中,表示它現在是輸出欄位。

從連結的 ODBC 資料表新增唯一索引欄位

  1. 在 [設計檢視] 中開啟查詢。
  2. 在查詢設計工具中,找到連結的 ODBC 資料表。
  3. 唯一索引欄位的欄位名稱旁會有索引符號。 按兩下不在欄位方格中的每個欄位。 每個欄位都會出現在欄位方格中,表示它現在是輸出欄位。

頁面頂端