ADO The WillChangeRecord and RecordChangeComplete Events

Home | About me | EXCEL VB Programming (XL97-2003) | ACCESS Programming | EXCEL VB.Net Programming | EXCEL Spreadsheet Functions Material Management  |  Guestbook
 

ADO WillChangeRecord and RecordChangeComplete Events

The WillChangeRecord Event

The WillChangeRecord event is triggered before one or more record changes.

Note: Before this event returns, set the status parameter to adStatusCancel to cancel the operation that caused this event or set it to adStatusUnwantedEvent to prevent subsequent notications.

The RecordChangeComplete Event

The RecordChangeComplete event is triggered after one or more record have been changed.

Note: Before this method returns, set the status parameter to adStatusUnwantedEvent to prevent subsequent notifications.

Note: The WillChangeRecord event or the RecordChangeComplete event may occur if you change a field in a record using one of the following Recordset operations: Update, Delete, CancelUpdate, AddNew, UpdateBatch, and CancelBatch.

Syntax

WillChangeRecord reason,numrec,status,objRs
RecordChangeComplete reason,numrec,objErr,status,objRs
 

Example


'use the WithEvents keyword to designate that events
'can be handled by this Recordset object
Dim WithEvents objRecSet As ADODB.Recordset

'Note how the object name, objRecSet, is incorporated into the event Sub name
Private Sub objRecSet_WillChangeRecord(adReason As ADODB.EventReasonEnum, _
   cRecord As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)

'place any code you desire here, for example
Print cRecord & " records will be modified"
End Sub

 

Private Sub objRecSet_RecordChangeComplete(adReason As ADODB.EventReasonEnum, _
   cRecords As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, _
   ByVal pRecordset As ADODB.Recordset)

' place any code you desire here, for example
If adStatus = adStatusErrorsOccurred Then
   Dim objError As ADODB.Error
   For Each objError in pRecordset.Errors
      Debug.Print vbtab; objError.Description
   Next
End If
End Sub
 

 

Parameter

Description

reason An EventReasonEnum value that specifies the reason for this event
numrec Indicates the number of records affected
status An EventStatusEnum value that indicates the status of the execution of the event
objErr The name of an Error object that describes the error if status is set to adStatusErrorsOccurred, otherwise it is not set
objRs The name of the Recordset Object that triggered this event

 

EventReasonEnum Values

Constant Value

Description

adRsnAddNew 1 An operation added a new record
adRsnDelete 2 An operation deleted a record
adRsnUpdate 3 An operation updated an existing record
adRsnUndoUpdate 4 An operation reversed the update of a record
adRsnUndoAddNew 5 An operation reversed the addition of a new record
adRsnUndoDelete 6 An operation reversed the deletion of a record
adRsnFirstChange 11 An operation made the first change to a record

 

EventStatusEnum Values

Constant Value

Description

adStatusOK 1 The operation that caused the event was successful
adStatusErrorsOccurred 2 The operation that caused the event failed
adStatusCantDeny 3 The operation that caused the event cannot be cancelled
adStatusCancel 4 The operation that caused the event is cancelled
adStatusUnwantedEvent 5 Prevents subsequent notifications before the event method has finished executing