如何解决可能出现更新和访问窗体访问查询中的数据时的错误

针对 Office 2003 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Office 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 328828
中等: 需要基本的宏、 编码和互操作技能。

本文适用于 Microsoft Access 数据库 (.mdb 和.accdb) 和 Microsoft Access 项目 (.adp)。

概要
本文介绍了 Microsoft Access 在您更新查询和表单数据时可能发生的错误。本文还介绍了错误以及如何解决这些错误的原因。

当您尝试更新查询或窗体中的数据时,您可能会收到以下错误消息之一:

操作必须使用一个可更新的查询。

-或者-

此记录集不可更新。
更多信息

更新查询中的数据时可能出现的问题的故障排除信息

  • 如果查询基于三个或多个表和多到一到多关系 thereis,无法更新直接在查询中的数据。您可以更新窗体或数据访问页中的数据。Cando 这基于查询时 记录集类型 窗体的属性设置为动态集(不一致的更新)。
  • 当查询是交叉表查询时,您将无法更新查询中的数据。
  • 当查询是 Microsoft SQL 传递查询时,youcannot 更新查询中的数据。
  • 在查询计算总和、 平均值、 计数或其他类型的总计字段中的值时,无法更新 thequery 中的数据。此外,您无法更新查询中引用字段的更新到行从交叉表、 查询、 选择查询或包含总计或聚合函数的 asubquery。若要解决 thisproblem,请使用 域聚合 更新的更新到行中的函数。您可以引用交叉表查询、 选择查询或包含总计或聚合函数的 asubquery 字段。
  • 联合查询的查询时,无法更新查询中的数据。
  • 唯一值 查询的属性设置为,您在查询中的 cannotupdate 数据。若要变通解决此问题,请设置 唯一值 属性为的查询。
  • 当查询包含链接的 ODBC 表与没有 uniqueindex 或 Paradox 表没有主键时,无法更新 thequery 中的数据。若要变通解决此问题,请添加到 thelinked 表的主键或唯一索引。
  • 当您没有基础表或查询的更新数据权限时,您不能更新数据。Toresolve 这一问题,将分配更新数据的权限。
  • 当查询包含多个表或一个查询,并通过联接线在设计视图中未联接表或查询时,无法更新查询中的数据。对 resolvethis 问题,您必须联接表正确以便可以更新它们。
  • Calculatedfield 想要更新的字段时,无法更新查询中的数据。
  • 当您尝试更新的字段是只读的数据库是以只读方式打开或数据库位于只读驱动器上时,无法更新查询中的数据。若要避免此问题,请不要打开为只读的数据库。如果数据库位于只读驱动器上,从驱动器中取出的只读属性,或者移动到 drivethat 的数据库不是只读的。
  • 当您尝试更新被或已被另一个用户锁定的记录中的字段,您将无法更新查询中的数据。可以更新 Alocked 记录,只要在解除锁定。
  • 当查询基于具有一到 manyrelationship 的表时,您可能无法修改区域中的字段的类型如下所示:
    • 从"一"方的字段连接。
    • "多"方联接字段不会出现在数据表中。
    • 之后更新"一"端的数据联接中"多"方的字段。
    • 存在与外部联接的一个一对多关系的"一"端的表中的空白字段。
    • ODBC 表的完整的唯一键不是输出。
    如果您执行 thecorrect 操作从下面的列表,您可以解决这些问题的任何一个:
    • 使两个表之间的级联更新。
    • 联接字段从"多"端向查询中添加,您可以添加新记录。
    • 保存该记录。您可以对"多"方联接字段进行更改。
    • 字段中输入值从表格上的"多"端。仅当从"一"方的联接的字段包含该记录的值时,您可以执行此操作。
    • 选择所有主键字段以允许向其中插入的 ODBC 表。

更新窗体中的数据时可能出现的问题的故障排除信息

  • 如果窗体基于 astored 过程与多个表时,无法更新窗体中的数据。
  • 当您尝试在数据访问页中,updatedata 和满足以下条件之一为真,无法更新窗体中的数据:
    • 页上的数据源没有主键、 唯一约束或一个唯一索引。
    • 没有没有主键、 没有唯一约束或页面架构中的没有唯一索引。
    • 页上没有记录导航控件。
    要解决这些问题,采取适当的措施,从下面的列表:
    • 添加到页的数据源的主键、 唯一约束或一个唯一索引。
    • 向页面的架构中添加一个主键、 唯一约束或唯一索引。

      将这些域中的一个添加到架构,添加主键、 唯一约束或一个唯一索引字段的页面设计。这自动添加到页面架构中的字段。如果不希望使用此字段可显示在页上,它从页面中删除。这使此字段可以保留在架构中。
    • 向页中添加记录导航控件。
  • 如果窗体基于 anActiveX 数据对象 (ADO) 记录集,无法更新窗体中的数据。Access 窗体允许您编辑数据 froman ADO 记录集,如果 ADO 记录集创建通过使用 theMSDataShape 和 SQL Server OLEDB 提供程序的组合。

警告:本文已自动翻译

属性

文章 ID:328828 - 上次审阅时间:10/01/2015 14:54:00 - 修订版本: 2.0

Microsoft Access 2000 标准版, Microsoft Access 2002 标准版, Microsoft Office Access 2003, Microsoft Office Access 2007, Microsoft Access 2010, Access 2016, Microsoft Access 2013

  • kbhowto kbtshoot kbfaq kbinfo kbdta kbprb kbmt KB328828 KbMtzh
反馈