RecordsetChangeComplete Event
Error Object
CursorType Property
Recordset Object
Open Method
Requery Method
EVENT: Recordset::WillChangeRecordset
WillChangeRecordset
(adReason, adStatus, pRecordset)
The
WillChangeRecordset
event can be fired before any pending change occurs in the contents of a
Recordset
. This can be due to a pending call to either the
Open
or
Requery
methods of the
Recordset
object.
In contrast, the
RecordsetChangeComplete
event can be fired after a change occurs in the
Recordset
.
An event is simply a subroutine that can be called automatically after a specific operation has occurred. This subroutine can contain any code that you need to run when the event occurs. The subroutine will only be called if it is included in your code.
There are three parameters passed to this event.
The
adReason
parameter is one of four of the
EventReasonEnum
constants that describe what pending operation caused this event to fire. Note that there is a total of fifteen of these constants, but only the following four can actually be used by this parameter.
EventReasonEnum Constants
Constant
Value
Description
adRsnClose
9
The
Recordset
has been closed
adRsnMove
2
The record pointer has been moved in the
Recordset
adRsnRequery
11
The
Recordset
has been requeried
adRsnResynch
5
The
Recordset
has been resynchronized with the data source
The
adStatus
parameter is one of the
EventStatusEnum
constants that describes the current status of the event. If the action that triggered this event was successful, then the argument will be set to
adStatusOK
. If the pending operation cannot be cancelled, it will be set to
adStatusCantDeny
.
EventStatusEnum Constants
Constant
Value
Description
adStatusCancel
4
Cancels the operation that fired the event
adStatusCantDeny
3
Cannot cancel pending operation
adStatusErrorsOccurred
2
Indicates that warnings and/or errors occurred
adStatusOK
1
The operation that fired the event was successful
adStatusUnwantedEvent
5
The operation that generated the event cannot generate future events
The
pRecordset
parameter is the
Recordset
object to which this event applies.
Code (Visual Basic):
' 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
Copyright 1999-2001 by Infinite Software Solutions, Inc. All rights reserved.
Trademark Information