Delete 方法(ADO 记录集)
适用于:Access 2013、Office 2013
用于删除当前记录或一组记录。
语法
recordset。删除 AffectRecords
参数
参数 | 说明 |
---|---|
AffectRecords | AffectEnum 值,可确定 Delete 方法将影响的记录数。 默认值为 adAffectCurrent 。 |
注意
adAffectAll 和 adAffectAllChapters 不是有效的 Delete 参数。
备注
使用 Delete 方法可为 Recordset 对象中的当前记录或记录组打上删除标记。 如果 Recordset 对象不允许删除记录,则会发生错误。 在即时更新模式下,会立即在数据库中进行删除。 如果无法顺利删除记录(例如,由于违反数据库完整性),在调用 Update 后,该记录仍保持为编辑模式。 这意味着在从当前记录移开(例如,用 Close、Move 或 NextRecordset)之前,必须使用 CancelUpdate 取消更新。
如果处于批量更新模式,则会将记录标记为要从缓存中删除,在调用 UpdateBatch 方法时会发生实际删除。 (使用 Filter 属性查看已删除的记录。)
检索已删除记录中的字段值时会产生错误。 删除当前记录后,在移动到其他记录之前,已删除记录仍然是当前记录。 一旦从已删除记录移开,就无法再访问它。
如果在事务中嵌套删除,可以使用 RollbackTrans 方法恢复已删除的记录。 处于批更新模式时,可以使用 CancelBatch 方法取消一个或一组挂起的删除操作。
如果由于与基础数据冲突而导致删除记录的尝试失败(例如,记录已被另一个用户删除),则提供程序会将警告返回到 Errors 集合,但是不会停止程序执行。 只有当所有被请求的记录都有冲突时,才会发生运行时错误。
如果设置了 Unique Table 动态属性,且 Recordset 是对多个表执行 JOIN 操作的结果,那么 Delete 方法将只从 Unique Table 属性所指定的表中删除行。