Delete 方法(ADO 记录集)

适用于:Access 2013、Office 2013

用于删除当前记录或一组记录。

语法

recordset。删除 AffectRecords

参数

参数 说明
AffectRecords AffectEnum 值,可确定 Delete 方法将影响的记录数。 默认值为 adAffectCurrent

注意

adAffectAlladAffectAllChapters 不是有效的 Delete 参数。

备注

使用 Delete 方法可为 Recordset 对象中的当前记录或记录组打上删除标记。 如果 Recordset 对象不允许删除记录,则会发生错误。 在即时更新模式下,会立即在数据库中进行删除。 如果无法顺利删除记录(例如,由于违反数据库完整性),在调用 Update 后,该记录仍保持为编辑模式。 这意味着在从当前记录移开(例如,用 CloseMoveNextRecordset)之前,必须使用 CancelUpdate 取消更新。

如果处于批量更新模式,则会将记录标记为要从缓存中删除,在调用 UpdateBatch 方法时会发生实际删除。 (使用 Filter 属性查看已删除的记录。)

检索已删除记录中的字段值时会产生错误。 删除当前记录后,在移动到其他记录之前,已删除记录仍然是当前记录。 一旦从已删除记录移开,就无法再访问它。

如果在事务中嵌套删除,可以使用 RollbackTrans 方法恢复已删除的记录。 处于批更新模式时,可以使用 CancelBatch 方法取消一个或一组挂起的删除操作。

如果由于与基础数据冲突而导致删除记录的尝试失败(例如,记录已被另一个用户删除),则提供程序会将警告返回到 Errors 集合,但是不会停止程序执行。 只有当所有被请求的记录都有冲突时,才会发生运行时错误。

如果设置了 Unique Table 动态属性,且 Recordset 是对多个表执行 JOIN 操作的结果,那么 Delete 方法将只从 Unique Table 属性所指定的表中删除行。