Canceling Operations
Your application can
deny the execution of any operation that triggers a Will event. By
changing the status parameter passed to any Will event to
adStatusCancel, the operation will not execute.
However, if the adStatus property is set to
adStatusCantDeny, you cannot cancel the operation.
For instance, assume that you want to restrict the connection to a data source. By entering the following code for the WillConnect event, the connection will never occur:
Private Sub con_WillConnect(ConnectionString As String, _
UserID As String, _
Password As String, _
Options As Long, _
adStatus As ADODB.EventStatusEnum, _
ByVal pConnection As ADODB.Connection)
' cancel the connection
adStatus = adStatusCancel
End SubNow enter the following code in a method to test the connection:
On Error GoTo ERR_Connection:
Set con = New Connection
con.Open "DSN=BiblioDSN"
con.Close
ERR_Connection:
If (Err.Number = 3712) Then
Debug.Print "Connection canceled."
End If
Set con = NothingOutput from this code produces the message
Connection
canceled. Of course,
you would not logically deny every connection attempt made by an
application, but you might deny Connections if you know that you
already have many connections made to the same data source.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access