删除当前记录或记录组。

语法

recordset.Delete AffectRecords

参数

AffectRecords   AffectEnum 值,确定 Delete 方法所影响的记录数目,该值可以是下列常量之一。

常量

说明

AdAffectCurrent

默认。仅删除当前记录。

AdAffectGroup

删除满足当前 Filter 属性设置的记录。要使用该选项,必须将 Filter 属性设置为有效的预定义常量之一。

adAffectAll

删除所有记录。

adAffectAllChapters

删除所有子集记录。

 

说明

使用 Delete 方法可将 Recordset 对象中的当前记录或一组记录标记为删除。如果 Recordset 对象不允许删除记录将引发错误。使用立即更新模式将在数据库中进行立即删除,否则记录将标记为从缓存删除,实际的删除将在调用 UpdateBatch 方法时进行。(使用 Filter 属性可查看已删除的记录)。

从已删除的记录中检索字段值将引发错误。删除当前记录后,在移动到其他记录之前已删除的记录将保持为当前记录。一旦离开已删除记录,则无法再次访问它。

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

如果因与基本数据冲突而导致删除记录失败(如记录已被其他用户删除),则提供者向 Errors 集合返回警告但不终止程序执行,只有在所有提出请求的记录上发生冲突时才会产生运行时错误。

如果 Unique Table 动态属性被设置,并且 Recordset 是对多个表执行 JOIN 操作的结果,那么,Delete 方法将仅删除 Unique Table 属性所命名的表中的行。