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 |
|