CancelBatch Method

Cancels a pending batch update.

Syntax

recordset.CancelBatch AffectRecords

The CancelBatch method syntax has these parts:

Part

Description

recordset

An object variable representing an open Recordset object.

AffectRecords

Optional. A Long expression that determines on how many records the CancelBatch method should act. Can be one of the following constants:

adAffectCurrent, 1 - Cancel pending transactions only for the current record.

adAffectGroup, 2 - Cancel pending transactions for records that satisfy the current Filter property setting. You must set the Filter property to one of the valid predefined constants in order to use this option.

adAffectAll, 3 (Default) - Cancel pending updates for all the records in the Recordset object, including any hidden by the current Filter property setting.

Remarks

Use the CancelBatch method to cancel any pending updates in a recordset in batch update mode. If the recordset is in immediate update mode, calling CancelBatch generates an error.

If you are editing the current record or are adding a new record when you call CancelBatch, ADO first calls the CancelUpdate method to cancel any cached changes; after that, all pending changes in the recordset are canceled.

It's possible that the current record will be indeterminable after a CancelBatch call, especially if you were in the process of adding a new record. For this reason, it is prudent to set the current record position to a known location in the recordset after the CancelBatch call. For example, call the MoveFirst method.

If the attempt to cancel the pending updates fails because of a conflict with the underlying data (for example, a record has been deleted by another user), the provider returns warnings to the Errors collection but does not halt program execution. A run-time error occurs only if there are conflicts on all the requested records. Use the Filter property (adFilterAffectedRecords) and the Status property to locate records with conflicts.