您可能會遇到無法在查詢中編輯資料 資料工作表檢視 變更基礎表中數據的情況。 本文可協助您瞭解何時可以編輯查詢數據、何時無法編輯查詢數據,以及如何變更查詢的設計,以便編輯其基礎數據。
本文內容
簡介
當您在 [數據工作表檢視] 中開啟查詢時,可能會發現您想要編輯數據。 或許您發現錯誤,或您看到一些過期的資訊。 視查詢的建立方式而定,您可以直接在查詢 資料工作表中編輯數據。
如果您嘗試在查詢數據工作表中編輯數據,但沒有任何反應,或 Windows 播放音效且您的編輯沒有發生,則您無法執行編輯。 可能是查詢本身無法編輯,例如交叉表查詢。 也可能是只有您嘗試編輯的欄位無法編輯,例如,如果字段是以匯總函數為基礎,例如平均值。 無論哪種情況,您都可以執行某些動作來啟用編輯。
除了在查詢 [數據工作表檢視] 中編輯數據,您也可以使用 更新查詢 來更新數據表中的數據。 本文不涵蓋更新查詢。
如需更新查詢的詳細資訊,請參閱建立與執行更新查詢一文。
通常,當您想要在查詢 [數據工作表檢視] 中編輯數據時,您會想要將變更儲存到查詢所在的數據表。 如果您不想變更這些數據表中的數據,但仍想要編輯數據並在完成後保留編輯的數據,您可以使用 產生資料表查詢 ,先建立可編輯數據的新數據表。 您也可以使用數據表查詢來儲存不允許編輯為新數據表的查詢結果,然後編輯該新數據表中的數據。 本文不討論如何建立及執行數據表查詢。
如需製作數據表查詢的詳細資訊,請參閱 建立數據表查詢一文。
何時可以在查詢中編輯數據?
當查詢是以一個數據表為基礎,或是兩個數據表彼此負有 一對一關聯性 時,您隨時都可以編輯查詢中的數據。
附註: 即使您可以在查詢中編輯數據,某些欄位可能無法編輯。 這類情況列在下一節中。
何時無法編輯查詢中的數據?
您永遠無法在下列狀況下編輯查詢中的數據:
-
查詢是 交叉資料表查詢。
-
查詢是 SQL 特定的查詢。
-
您嘗試編輯的欄位是 導出欄位。 在此情況下,您可能可以編輯其他欄位。
-
查詢是以三個或三個以上的數據表為基礎,且有許多對一對多關聯。
附註: 雖然在此情況下您無法編輯查詢數據工作表,但是當表單的 RecordsetType 屬性設為 Dynaset (不一致的 匯報) 時,您可以編輯表單中的數據。
-
查詢包含 GROUP BY 子句。
如何? 變更查詢以便編輯其數據嗎?
下表列出當您無法編輯查詢時,會與讓查詢數據工作表可供編輯的方法配對。
您無法在下列時機編輯查詢資料工作表中的值: |
若要讓查詢資料工作表可供編輯: |
查詢的 [唯一值 ] 屬性設為 [ 是]。 |
將查詢的 [唯一值 ] 屬性設為 [否]。 請參閱下一節將 Unique Values 屬性設為 No,以瞭解如何設定此屬性。 |
查詢包含沒有 唯一索引 的連結 ODBC 資料庫 數據表或不含 主索引鍵的 Paradox 數據表。 |
使用連結資料庫廠商所提供的方法,將主鍵或唯一索引新增至鏈接數據表。 |
您沒有基礎表的 [更新資料] 權限。 |
指派更新數據許可權。 |
查詢包含多個數據表或一個查詢,且數據表或查詢不會在 [設計檢視] 中以連接線連接。 |
建立適當的聯結。 若要瞭解如何建立聯結,請參閱建立 聯結一節。 |
資料庫以唯讀方式開啟,或位於唯讀磁碟驅動器上。 |
關閉資料庫並重新開啟,而不選取 [開啟只讀];或者,如果資料庫位於唯讀磁碟驅動器上,請從磁碟驅動器移除唯讀屬性,或將資料庫移至非只讀磁碟驅動器。 |
您嘗試更新之記錄中的欄位會遭到刪除或由其他使用者鎖定。 |
等待記錄解除鎖定。 鎖定的記錄可以在記錄解除鎖定時立即更新。 等待其他使用者完成已鎖定記錄的作業。 |
查詢是以具有 一對多關聯性的數據表為基礎,而來自「多」端的連接字段不是輸出欄位。 在此情況下,無法編輯「一」端連接欄位中的數據。 |
將關聯「多」端的連接欄位新增到查詢輸出欄位。 請參閱 將「多」端的連接欄位新增至查詢輸出欄位一節,以瞭解如何新增聯結欄位。 |
編輯數據) 後,「多」端 (聯結字段位於「一」端。 |
按 SHIFT+F9 以認可您的變更並重新整理查詢。 |
一對多關聯「一」端的數據表中有一個空白字段,而連接則是右方外部聯接。 |
請確定該欄位的「一」端有值。 只有當該欄位的「一」端有值時,您才能編輯「多」端的聯結欄位。 |
您使用的是連結的 ODBC 資料庫數據表,並非連結數據表唯一索引的所有欄位都在查詢輸出中。 |
將 ODBC 資料表的唯一索引的所有欄位新增至查詢輸出欄位。 請參閱 從連結的 ODBC 數據表新增唯一索引欄位一節,以瞭解如何新增欄位。 |
將 Unique Values 屬性設為 No
-
在 [設計檢視] 中開啟查詢。
-
如果 屬性表 未開啟,請按 F4 開啟它。 在查詢設計網格線中單擊,以確保屬性表顯示查詢屬性,而不是字段屬性。
-
在屬性表中,尋找 [ 唯一值] 屬性方塊。 按兩下旁邊的方塊,按兩下該方塊中的箭號,然後按兩下 [ 否]。
建立聯結
-
在 [設計檢視] 中開啟查詢。
-
針對您要聯結到另一個數據表或查詢的每一個數據表或查詢,將連接欄位從該數據表或查詢拖曳至您要建立聯結的數據表或查詢中的對應欄位。
如需建立聯結的詳細資訊,請參閱加入 數據表和查詢一文。
將「多」端的連接欄位新增至查詢輸出欄位
-
在 [設計檢視] 中開啟查詢。
-
在查詢設計工具中,找出對應至相關一對多關聯的聯結。
-
從一對多關聯的「多」端按兩下聯結欄位。 連接欄位會出現在欄位網格線中,表示它現在是輸出欄位。
從連結的 ODBC 資料表新增唯一索引欄位
-
在 [設計檢視] 中開啟查詢。
-
在查詢設計工具中,找出連結的 ODBC 資料表。
-
唯一索引欄位的功能變數名稱旁邊會有一個關鍵符號。 按兩下欄位網格線中尚未存在的每一個字段。 每個欄位都會出現在欄位網格線中,表示它現在是輸出欄位。