取消挂起的批更新。
语法
recordset.CancelBatch AffectRecords
参数
AffectRecords 可选的 AffectEnum 值,决定 CancelBatch 方法所影响记录的数目,可为下列常量之一:
常量 | 说明 |
AdAffectCurrent | 仅取消当前记录的挂起更新。 |
AdAffectGroup | 对满足当前 Filter 属性设置的记录取消挂起更新。使用该选项时,必须将 Filter 属性设置为合法的预定义常量之一。 |
AdAffectAll | 默认值。取消 Recordset 对象中所有记录的挂起更新,包括由当前 Filter 属性设置所隐藏的任何记录。 |
说明
使用 CancelBatch 方法可取消批更新模式下记录集中所有挂起的更新。如果记录集处于立即更新模式,调用不带 adAffectCurrent 的 CancelBatch 将产生错误。
如果调用 CancelBatch 时正在编辑当前记录或添加新记录,则 ADO 首先调用 CancelUpdate 方法取消所有已被缓存的修改,然后取消记录集中挂起的所有更改。
有可能在 CancelBatch 调用后,特别是在添加新记录时无法确定当前记录。为此,在 CancelBatch 调用后将当前记录位置设置为记录集中的已知位置是明智的。例如可调用 MoveFirst 方法。
如果由于与基本数据冲突(如记录已被其他用户删除)而导致取消挂起更新失败,则提供者将向 Errors 集合返回警告,但不终止程序的执行。只有当所有请求的记录都发生冲突时才发生运行时错误。使用 Filter 属性 (adFilterAffectedRecords) 和 Status 属性可以对冲突记录进行定位。