Recordset2.Update 方法 (DAO)

适用于:Access 2013、Office 2013

语法

表达式 。更新 (UpdateType强制)

表达 一个代表 Recordset2 对象的变量。

参数

名称

必需/可选

数据类型

说明

UpdateType

可选

Long

一个 UpdateTypeEnum 常量,指示“设置”中指定的更新类型(仅适用于 ODBCDirect 工作区)。

可选

Boolean

一个 Boolean 值,指示是否将更改强制应用到数据库中,而不管自从 AddNewDeleteEdit 调用以来,其他用户是否更改了基础数据。 如果为 True,则会强制更改,并且只是覆盖由其他用户所做的更改。 如果为 False(默认值),在更新处于待定状态时由其他用户所做的更改将导致更改对冲突的更改失败。 不发生错误,但是 BatchCollisionCountBatchCollisions 属性将分别指示冲突数和受冲突影响的行数(仅适用于 ODBCDirect 工作区)。

说明

使用 Update 可保存当前记录以及对它所做的任何更改。

重要

在以下情况下,对当前记录所做的更改将会丢失:

  • 使用了 EditAddNew 方法,然后在没有事先使用 Update 的情况下移到另一条记录。
  • 使用了 EditAddNew,然后在没有事先使用 Update 的情况下再次使用 EditAddNew
  • Bookmark 属性设置为另一条记录。
  • 在没有事先使用 Update 的情况下关闭了 Recordset
  • 使用 CancelUpdate 取消 Edit 操作。

要编辑一条记录,请使用 Edit 方法将当前记录的内容复制到复制缓冲区。 如果不首先使用 Edit,在使用 Update 或试图更改字段值时将会发生错误。

在 ODBCDirect 工作区中,如果游标库支持批更新,并且使用开放式批锁定选项打开了 Recordset,则可以执行批更新。

在 Microsoft Access 工作区中,如果多用户环境中的 Recordset 对象的 LockEdits 属性设置为 True(悲观锁定),那么从使用 Edit 开始到执行了 Update 方法或取消了编辑的时间范围内,记录将保持锁定状态。 如果 LockEdits 属性设置为 False(乐观锁定),那会锁定此记录,并且在数据库中对它更新之前,将它与预编辑的记录进行比较。 如果自从使用 Edit 方法之后记录发生了更改,Update 操作将会失败。 Microsoft Access 数据库引擎连接的 ODBC 和可安装的 ISAM 数据库始终使用乐观锁定。 若要使用更改继续 Update 操作,请再次使用 Update 方法。 若要在其他用户更改记录时还原到该记录,请使用 Move 0 刷新当前记录。

注意

若要添加、编辑或删除记录,基础数据源中的记录必须存在唯一索引。 如果不存在此索引,在 Microsoft Access 工作区中, AddNewDeleteEdit 方法调用将发生"权限被拒绝"错误,在 ODBCDirect 工作区中, Update 调用将发生"无效参数"错误。