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 Sub
Now 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 = Nothing
Output 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.
Get ADO: ActiveX Data Objects now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.