ADO WillChangeRecordset and RecordsetChangeComplete Events
The WillChangeRecordset Event
The WillChangeRecordset event is triggered before an operation
changes the Recordset.
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 notifications.
The RecordsetChangeComplete Event
The RecordsetChangeComplete event is triggered after a Recordset has
changed.
Note: Before this event returns, set the status parameter to
adStatusUnwantedEvent to prevent subsequent notifications.
Note: The WillChangeRecordset and the RecordsetChangeComplete
event can occur when calling the Requery method or the Open method of a
Recordset object.
Syntax
WillChangeRecord reason,status,objRs
RecordsetChangeComplete reason,objErrOR,status,objRs
|
Parameter |
Description |
reason |
An EventReasonEnum value that specifies the
reason for this event
|
status |
An EventStatusEnum value that indicates the
status of the execution of the event
|
objError |
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 |
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_WillChangeRecordset(adReason
As ADODB.EventReasonEnum, _
adStatus As ADODB.EventStatusEnum, ByVal pRecordset As
ADODB.Recordset)
'place any code you desire here, for example
If adReason = adRsnResynch Then
adStatus = adStatusCancel
End If
End Sub OR,
Private Sub
objRecSet_RecordsetChangeComplete(adReason
As ADODB.EventReasonEnum, _
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
|
EventReasonEnum Values
Constant |
Value |
Description |
adRsnRequery |
7 |
An operation requeried the Recordset |
adRsnResynch |
8 |
An operation resynchronized the Recordset with
the database |
adRsnClose |
9 |
An operation closed the Recordset |
adRsnMove |
2 |
The record pointer has been moved in the
Recordset |
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 |
|