ExecuteComplete ADODB Zdarzenie połączenia nie zostało wystrzelone z parametrem adAsyncExecute

Mam problem z próbą złapania wykonania zapisanego proc asynchronicznie.

Poniżej mojego kodu VBA (w module klasy o nazwie clsAsync):

Option Explicit

Private WithEvents cnn As ADODB.Connection


Private Sub cnn_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
    MsgBox "Execution completed"
End Sub

Sub execSPAsync()
    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    cnn.ConnectionString = "connection to my database SQLSEREVER"
    cnn.Open
    cnn.Execute "kp.sp_WaitFor", adExecuteNoRecords, adAsyncExecute
End Sub

Ta klasa to PublicNotCreatable.

Aby wywołać sub execSPAsync z modułu, używam następującego kodu:

Sub testASYNC()
    Dim a As New clsAsync
    Call a.execSPAsync
End Sub

Procedura składowana jest bardzo prosta:

alter PROC kp.sp_WaitFor
AS

WAITFOR DELAY '00:00:05'

Moim problemem jest to, że zdarzenie ExecuteComplete nie jest w ogóle uruchamiane, a jeśli komentuję parametr adAsynExecute, wszystko działa poprawnie. Masz jakiś pomysł, jak rozwiązać moje pytanie?

questionAnswers(1)

yourAnswerToTheQuestion