應用程式中的欄位意外變成唯讀

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

重要    Microsoft 不再建議您於 SharePoint 中建立和使用 Access Web App。請考慮改用 Microsoft PowerApps,來建置適用於網頁和行動裝置的無程式碼商務解決方案。

當您使用查詢來提供資料的 Access web app 中檢視時,您可能會希望能編輯某些欄位是唯讀的檢視中。明確地說,如果您使用一個以上的表格有一個以上的連接,有一些的限制可更新查詢欄位。

附註: 本主題是關於 Access web 應用程式。它不會套用到桌面資料庫。如果您有桌面資料庫中無法使用查詢,請參閱查詢簡介的概觀。

可更新查詢欄位的要求

  • 唯有資料表中的聯結欄位沒有唯一值 (即「最多-多數」資料表),其欄位才可以更新。

  • 查詢輸出必須包含「最多-多數」資料表的主索引鍵欄位。

  • 「最多-多數」資料表必須位於任何外部聯結的內部端 (亦即,左外部聯結的左側或右外部聯結的右側)。

描述可更新欄位的查詢圖表

在這個查詢中,[工作] 資料表是「最多-多數」資料表,因為會查閱 [專案] 資料表中的資料。

不過,因為輸出中不包含 [工作] 的主索引鍵,因此其欄位皆不可更新。

即使新增索引鍵,來自 [專案] 資料表的欄位也沒有一個可以更新,因為該資料表不是「最多-多數」資料表。

頁面頂端

尋找和修正可更新欄位的問題

欄位無法更新的原因決定了啟用更新的方式。若要找出原因,請在 [設計檢視] 中開啟查詢,並查看查詢設計詳細資料。

  1. 如果您從瀏覽器開始,請在 Access 中開啟 web 應用程式︰ 在應用程式的右上角,按一下 [設定> [在 Access 中自訂

  2. 在 Access 中,如果 [功能窗格] 未開啟,請按下 F11 顯示。在 [功能窗格] 中,以滑鼠右鍵按一下查詢,然後按一下 [設計檢視]

    [功能窗格] 中查詢的操作功能表

  3. 判斷查詢中的哪個資料表是「最多-多數」資料表。基本原則是,會查閱其他資料表資料的就是「最多-多數」資料表。

  4. 檢查您要更新的欄位確實位在「最多-多數」資料表。如果不是,就無法對查詢執行任何動作來因應問題。若要讓其他人編輯該欄位,替代方法是考慮只根據資料表建立可更新的新檢視,並使其能視需要輕鬆開啟。例如,您可以提供一個按鈕並包含可開啟檢視的巨集。

  5. 檢查查詢輸出中會包含 [最多-多數資料表的主索引鍵。如果有,不新增至查詢輸出的主索引鍵

  6. 按兩下每個聯結並確認:

    • 聯結是內部聯結;或者,

    • 如果是外部聯結,「最多-多數」資料表是位在聯結的內部端 (左聯結的左側或右聯結的右側)。

如果聯結不符合上述兩個準則,變更聯結使查詢可以更新中至少一個。

 頁面頂端

新增「最多-多數」主索引鍵至查詢輸出

  1. 在 [設計檢視] 中開啟查詢。

  2. 識別「最多-多數」資料表。

  3. 按兩下主索引鍵中的每一個欄位。每個索引鍵欄位都會以一個小鑰匙標示。

  4. 在查詢設計格線中,請確定 [顯示] 方塊已核取您剛才新增的索引鍵欄位︰

    查詢設計格線中的 [顯示] 列

頁面頂端

變更聯結使查詢可以更新

如果任何聯結不符合上述準則的其中一個,它會防止更新。以下是不可更新連接的範例︰

[連接屬性] 對話方塊。

這是左外部聯結,包含左資料表的所有內容及右資料表的相對應記錄。不過,「最多-多數」資料表是位在聯結的右側,因此會阻止更新。

使外部聯結可更新的方式

有三種基本方式可以調整聯結,使其查詢可以更新。按兩下聯結以開啟 [連接屬性] 對話方塊,然後執行下列其中一個動作:

  • 變更為內部聯結的外部聯結   按一下 [中的] 選項 1 連接屬性] 對話方塊。

  • 切換資料表位置    內部聯結和其他表格 (使用下拉式方塊中加入內容] 對話方塊來設定向左鍵和向資料表名稱) 的外側邊的側移動最多-多數資料表。

  • 變更聯結方向    :在 [連接屬性] 對話方塊中按一下選項 2 或 3 (從先前的值變更為其他值)。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×