使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

重要提示    已从下一版本的 SharePoint 中删除 Access Services 2010 和 Access Services 2013。 建议不要创建新的 web 应用,可将现有应用迁移到替代平台,如Microsoft Power App

可以与 Dataverse 共享 Access 数据。Dataverse 是一种云数据库,可在其上构建面向 Web、手机或平板电脑的 Power Platform 应用、自动化工作流、虚拟代理等。 有关详细信息,请参阅 入门:将 Access 数据迁移到 Dataverse

使用查询为 Access Web 应用中的视图提供数据时,可能希望能够编辑的某些字段在视图中是只读的。 具体而言,如果使用多个表且至少有一个联接,则可以更新哪些查询字段存在限制。 

注意: 本主题介绍 Access Web 应用。 它不适用于桌面数据库。 如果在桌面数据库中遇到查询问题,请参阅文章 “查询简介 ”以获取概述。

可更新查询字段的要求

  • 只有联接字段没有唯一值的表中的字段(“最多”表)才能更新。

  • 查询输出必须包含最多表的主键字段。

  • 最多表必须位于任何外部联接的内部端 (即左外部联接的左侧或右外部联接的右侧) 。

描述可更新字段的查询图表

在此查询中,“任务”表是数量最多的表,因为它在“项目”表中查找数据。

但是,由于输出中未包含任务的主键,因此其字段都不可更新。

即使添加了密钥,来自 Projects 表的字段也不可更新,因为它不是最多表。

返回页首

查找并修复可更新字段问题

字段不可更新的原因决定了如何启用更新。 若要找出原因,请在设计视图中打开查询并检查查询设计详细信息。

  1. 如果从浏览器开始,请在 Access 中打开 Web 应用:在应用右上角,单击“设置”>自定义访问。

  2. 在 Access 中,如果导航窗格未打开,请按 F11 显示它。 然后,在导航窗格中,右键单击查询,然后单击 “设计视图”。

    导航窗格中查询的上下文菜单

  3. 确定查询中的哪个表是最多表。 一个很好的经验法则是,最多表是查找另一个表中数据的表。

  4. 检查要更新的字段是否在最多表中。 如果没有,则无法对查询执行任何操作来解决此问题。 作为允许用户编辑字段的替代方法,请考虑仅基于表创建新的可更新视图,然后根据需要轻松打开该视图。 例如,可以提供一个按钮,其中包含打开视图的宏。

  5. 检查查询输出中是否包含最多表的主键。 如果不存在,请 将主键添加到查询输出

  6. 双击每个联接并验证:

    • 联接是内部联接;或

    • 如果是外部联接,则最多表位于联接的内部端 ( 位于左联接的左侧或右联接的右侧)。

如果联接至少不符合上述两个条件之一, 请更改联接以使查询可更新

返回页首

将最多主键添加到查询输出

  1. 在设计视图中打开查询。

  2. 标识最多表。

  3. 双击主键中的每个字段。 每个键字段都用一个小键进行标记。

  4. 在查询设计网格中,确保已选中 “显示 ”框以检查刚添加的键字段:

    查询设计网格中“显示”行

返回页首

更改联接以使查询可更新

如果任何联接不符合上述条件之一,则会阻止更新。 下面是不可更新联接的示例:

“联接属性”对话框

这是一个左外部联接 - 它包含左表中的所有内容和右表中的相应记录。 但是,最多表位于联接的右侧,从而阻止更新。

使外部联接可更新的方法

有三种基本方法可以调整联接,使其查询可更新。 双击联接以打开“ 加入属性 ”对话框,然后执行下列操作之一:

  • 将外部联接更改为内部联接    单击“ 联接属性 ”对话框中的选项 1。

  • 切换表的位置    将最多多个表移到联接的内侧,将另一个表移到外侧, (使用“ 联接属性 ”对话框中的组合框设置左表名和右表名) 。

  • 更改联接的方向    在“ 联接属性 ”对话框中单击选项 2 或 3, (将其更改为未) 的任何值。

返回页首

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×