错误 (无法更新。如果 Access 中存在未链接的查找字段,数据库或对象在针对链接的 SharePoint 视图的查询中为只读)

症状

在 Microsoft Access 中工作时,针对链接的 Microsoft SharePoint 视图运行更新查询。 要更新的基础列表包括 未链接到 Access 的查阅字段,因为它们未包含在当前视图中。

在这种情况下,您会收到以下错误消息:

不能更新。 数据库或对象为只读。

原因

使用 ImportSharePointList 宏操作时会出现此问题。 (Access 2016 及更高版本的 Access) 或 TransferSharePointList 操作 (早于 2016) 链接到 Access 中 SharePoint 列表的视图。

此宏在 Access 中为 SharePoint 视图中的每个查阅列创建链接表。

尽管更新查询首先检查所有查阅列是否在基础列表的数据库中都有链接表,但它不会独占检查当前查询的一部分的查找。 由于这种情况,数据库连接被切断。 因此,查询在写入操作中返回只读对象或数据库。

解决方法

若要解决此问题,请使用以下方法之一。

方法 1

将基础列表中的所有查阅列链接到表,使其可写。 为此,请按照下列步骤操作:

  1. 链接到 SharePoint 列表本身。 这可确保基础列表的所有查找表都存在于 Access 中。
  2. 删除 Access 中 SharePoint 列表的链接表。 这会使查找列的链接表保持不变。
  3. 使用 ImportSharePointList 宏操作链接到 SharePoint 视图。

实现此解决方法后,Microsoft Access 将包含 SharePoint 视图的链接表。 它还将包含基础列表中所有查阅列的链接表,而不仅仅是视图中包含的查阅列。

如果这些步骤无法解决问题,请转到方法 2。

方法 2:在 Access 2010 中禁用缓存。

为此,请按照下列步骤操作:

  1. 在“Access”中,选择“ 文件>选项”。
  2. 选择“ 当前数据库”。
  3. 向下滚动到 “缓存 Web 服务 ”区域。
  4. 找到 Microsoft SharePoint 表
  5. 选中“ 从不缓存 ”复选框。

更多信息

有关在 Access 中使用 SharePoint 列表时发生的已知问题的详细信息,请参阅 SharePoint 列表和文档库的访问缓存格式

有关 ImportSharePointList (TransferSharePointList) 宏的详细信息,请参阅 ImportSharePointList 宏操作。## 详细信息

仍然需要帮助? 请转到 Microsoft 社区