重要 Access Services 2010 和 Access Services 2013 將從下次發行的 SharePoint 中移除。 建議您不要建立新的 Web 應用程式,並將現有的應用程式移轉至替代的平台,例如 Microsoft Power Apps。 您可以與 Dataverse 共用 Access 資料,這是一個雲端資料庫,您可以在其中組建 Power Platform 應用程式、自動化工作流程、虛擬代理程式以及其他適用於網路、手機或平板電腦的程式。 如需詳細資訊,請參閱 開始使用:將 Access 資料移轉到 Dataverse。 |
當您使用查詢在 Access Web App 中為檢視提供資料時,某些您可能會預期能夠編輯的欄位會在檢視中唯讀。 具體來說,如果您使用多個資料表且至少有一個聯結,則可更新查詢欄位的限制。
附註: 本主題是關於 Access Web App。 不適用於桌面資料庫。 如果您無法在桌面資料庫中使用查詢,請參閱 查詢簡介 一文以取得概觀。
可更新查詢欄位的需求
-
只有連線欄位沒有唯一值的資料表中的欄位可以更新,也可能是「最多-多」資料表。
-
查詢輸出必須包含最多多資料表的主鍵欄位。
-
多重資料表必須位於任何外部連接的內部 (,也即左外部連接的左側或右外部連接的右側) 。
在此查詢中,[工作] 資料表是次數最多的資料表,因為它會查詢 [專案] 資料表中的資料。
不過,由於 [工作] 的主鍵不包含在輸出中,因此其欄位將無法更新。
即使已新增索引鍵,[專案] 資料表所提供的欄位都不會更新,因為它不是數量最多的資料表。
尋找並修正可更新的欄位問題
欄位無法更新的原因會決定您啟用更新的功能。 若要找出該原因,請在 [設計檢視] 中開啟查詢,並檢查查詢設計詳細資料。
-
如果您是從瀏覽器啟動,請在 Access 中開啟 Web 應用程式:在應用程式右上角,按一下 [ 設定 ] > [ 在 Access 中自訂]。
-
在 Access 中,如果 [功能窗格] 未開啟,請按 F11 來顯示它。 然後在 [功能窗格] 中,以滑鼠右鍵按一下查詢,然後按一下 [ 設計檢視]。
-
判斷查詢中的哪個資料表是最多多的資料表。 一個好的經驗是,最多多份資料表是尋找另一個資料表中資料的資料表。
-
檢查您要更新的欄位位於數量最多的資料表中。 如果沒有,您無法對查詢執行任何動作來解決此問題。 若要讓使用者編輯欄位,另一種方式是考慮只根據資料表建立可更新的新檢視,然後視需要輕鬆開啟該檢視。 例如,您可以提供按鈕及開啟檢視的宏。
-
檢查查詢輸出中包含最多多資料表的主鍵。 如果沒有,請 將主鍵新增至查詢輸出。
-
按兩下每個聯結,並確認:
-
連接是內部聯結;或
-
如果是外部聯結,則最為多的資料表會位於聯結的內部側, 位於左側聯結的左側或右方聯結的右側。
-
如果聯結至少不符合前兩個準則的其中之一,請 變更聯結,使查詢可更新。
將最多多主鍵新增至查詢輸出
-
在 [設計檢視] 中開啟查詢。
-
找出數量最多的資料表。
-
按兩下主鍵中的每個欄位。 每個索引鍵欄位都會以小按鍵標示。
-
在查詢設計格線中,確認已核取 [ 顯示] 方 塊,以查看您剛才新增的關鍵字段:
變更聯結以更新查詢
如果任何聯結不符合上述其中一個準則,就會防止更新。 以下是無法更新聯結的範例:
這是左方外部聯結,包含左側資料表的所有專案,以及來自右側資料表的對應記錄。 不過,最多多的資料表位於聯結的右側,因此會防止更新。
讓外部聯結可更新的方法
有三種基本的方式可以調整聯結,使其查詢可更新。 按兩下聯結以開啟 [ 連接屬性 ] 對話方塊,然後執行下列其中一項操作:
-
將外部連接變更為內部連接 按一下 [ 連接屬性 ] 對話方塊中的選項 1。
-
切換表格的位置 將多重資料表移到聯結的內部側,將另一個資料表移到外部 (使用 [ 連接屬性 ] 對話方塊中的下拉式方塊來設定 [左] 和 [右] 資料表名稱) 。
-
變更聯結的方向 按一下 [ 連接屬性 ] 對話方塊中的 [2] 或 [3] 選項, (將其變更為不) 的值。