ADO WillChangeField and FieldChangeComplete Events
The WillChangeField Event
The WillChangeField event is triggered before the values of one or
more Field Objects are changing.
Note: Before this event returns, set the status parameter to
adStatusCancel to cancel the operation that caused this event.
The FieldChangeComplete Event
The FieldChangeComplete event is triggered after the values of one or
more Field Objects have been changed.
Note: Before this event returns, set the status parameter to
adStatusUnwantedEvent to prevent subsequent notifications.
Note: The WillChangeField event and the FieldChangeComplete
event may occur when you set the Value property and calls the Update
method with field and value array parameters.
Syntax
WillChangeField numfields,fields,status,objRs
FieldChangeComplete numfields,fields,objErr,status,objRs
|
Parameter |
Description |
numfields |
The number of Field objects in fields
|
fields |
An array that contains Field objects with
changes
|
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
|
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_FieldChangeComplete(cFields
As Long, Fields As Variant, _
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
OR,
Private Sub
objRecSet_WillChangeField(cFields
As Long, Fields As Variant, _
adStatus As ADODB.EventStatusEnum, ByVal pRecordset As
ADODB.Recordset)
' place any code you desire here, for
example
Debug.Print cFields & " will be
modified"
End Sub
|
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 |
|