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

重要    Access Services 2010 和 Access Services 2013 將從下次發行的 SharePoint 中移除。 我們建議您不要建立新的 Web 應用程式,並將現有的應用程式移轉至替代的平台,例如 Microsoft Power Apps

當您使用查詢為 Access Web 應用程式中的視圖提供資料時,您可能會預期可以編輯的一些欄位在視圖中是唯讀的。 具體來說,如果您使用多個資料表且至少有一個連接,哪些查詢欄位可以更新有限制。

附註:  本主題是有關 Access Web App 的主題。 不適用於桌面資料庫。 如果您遇到桌面資料庫中的查詢問題,請參閱查詢簡介一文 以概觀

可更新查詢欄位的需求

  • 只有連接欄位沒有唯一值之資料表的欄位 ,即「最多」資料表 -可以更新。

  • 查詢輸出必須包含最多資料表的主鍵欄位。

  • 最多資料表必須位於任何外部連接的內部側 (例如左外部連接左側或右外部連接) 。

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

在此查詢中,工作資料表是最多資料表,因為它會查詢 Project 資料表中的資料。

不過,由於工作的主鍵未包含在輸出中,因此其任何欄位都將無法更新。

即使新增了索引鍵,來自 Projects 資料表的欄位都無法更新,因為它不是最多資料表。

頁面頂端

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

欄位無法更新的原因會決定您如何啟用更新。 若要找出原因,請于設計檢視中開啟查詢,並檢查查詢設計詳細資料。

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

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

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

  3. 判斷查詢中的哪個資料表是最多資料表。 根據經驗,最多資料表是可尋找另一個資料表資料的資料表。

  4. 檢查您想要更新的欄位是否位於最多資料表中。 如果不是,您可以對查詢執行任何操作來解決問題。 作為讓使用者編輯欄位的替代方案,請考慮僅根據資料表建立可更新的新視圖,然後視需要輕鬆開啟該視圖。 例如,您可能會提供開啟該視圖之宏的按鈕。

  5. 檢查查詢輸出中是否包含最多資料表的主鍵。 如果沒有,請 新增主鍵至查詢輸出

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

    • 聯聯是內部連接;或

    • 如果是外部連接,則最多資料表位於聯聯的內部側 ,位於左連接左側或右連接右側。

如果聯聯不符合前兩個準則的其中一個,請變更連接 ,讓查詢可更新

頁首

新增最多主鍵至查詢輸出

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

  2. 找出最多資料表。

  3. 按兩下主鍵中的每個欄位。 每個按鍵欄位會以小鍵標示。

  4. 在查詢設計格線中,確認已針對您剛才新增的索引鍵欄位勾選顯示方塊:

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

頁面頂端

變更連接以更新查詢

如果有任何聯聯不符合上述其中一個準則,將會防止更新。 以下是無法更新聯入的範例:

[連接屬性] 對話方塊。

這是左方外部聯結,包含左資料表的所有專案,以及右資料表的對應記錄。 不過,最多多資料表位於連接右側,因此會防止更新。

讓外部連接可更新的方法

有三種基本方式來調整連接,以便更新其查詢。 按兩下聯聯以開啟 [連接 屬性 > 對話方塊,然後執行下列其中一項操作:

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

  • 切換表格的位置    將最多資料表移至連接的內部端,將另一個資料表移至外部 (使用 [連接屬性> 對話方塊中的下式方塊來設定左側和右側資料表名稱) 。

  • 變更連接的方向    按一下 [連接屬性 (中選項2 或 3,即可將選項 2 或 3 變更為未) 。

頁面頂端

需要更多協助?

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×