ADO WillConnect, ConnectComplete, and Disconnect Events

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

ADO WillConnect, ConnectComplete, and Disconnect Events

An event is a subroutine that can be called automatically after a specific operation has occurred.

  • The WillConnect event can be fired before a connection starts.
  • The ConnectComplete event can be fired after a connection starts.
  • The Disconnect event can be fired after a connection ends.

Syntax

WillConnect ConnectionString,userid,psword,options,status,objcon
ConnectComplete objerror,status,objconn
Disconnect status,objconn
 

Example: WillConnect

' Use the WithEvents keyword to designate that events
' can be handled by this Connection object
Dim WithEvents objConn As ADODB.Connection

' Note how the object name, objConn, is incorporated into the event Sub name
Private Sub objConn_WillConnect(ConnectionString As String, _
   UserID As String, Password As String Options As Long, _
   adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)


' place any code you desire here, for example
If UserID = "91128" Then
   MsgBox "Connection String = " & ConnectionString
End If
End Sub

Example: ConnectComplete

' Use the WithEvents keyword to designate that events
' can be handled by this Connection object
Dim WithEvents objConn As ADODB.Connection

' Note how the object name, objConn, is incorporated into the event Sub name
Private Sub objConn_ConnectComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, _
   ByVal pConnection As ADODB.Connection)


' place any code you desire here, for example
If adStatus = adStatusErrorsOccurred Then
   MsgBox "CONNECTION ERROR: " & pError.Description
End If
End Sub

Example: Disconnect

' Use the WithEvents keyword to designate that events
' can be handled by this Connection object
Dim WithEvents objConn As ADODB.Connection

' Note how the object name, objConn, is incorporated into the event Sub name
Private Sub objConn_Disconnect(adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)

' place any code you desire here, for example
If adStatus = adStatusOK Then
   Print "The disconnect was successful"
Else
   MsgBox "The disconnect status is " & adStatus
End If
End Sub

Parameter

Description

ConnectionString A string that contains the information required for the connection
userid A string that contains the user name for the connection
psword A string that contains the password for the connection
options A long value that specifies how the provider should evaluate the ConnectionString. Can only be set to adAsyncOpen
objerror An Error object that contains the errors that occurred

Note: The EventStatusEnum value must be set to adStatusErrorsOccurred to create the Error object

status An EventStatusEnum value. Default is adStatusOK.
However, when the ConnectComplete event is called, this parameter is set to adStatusCancel IF a WillConnect event calls for cancelling of the pending connection
objconn The Connection object that fired the event 
 

EventStatusEnum Values

Constant Value

Description

adStatusOK 1 The operation that fired the event was successful
adStatusErrorsOccurred 2 The operation that fired the event failed
adStatusCantDeny 3 Cannot cancel the pending operation
adStatusCancel 4 Cancels the operation that fired the event
adStatusUnwantedEvent 5 Prevents subsequent notifications before the event method has finished executing