Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Access 2013, Office 2013
Чтобы обрабатывать события ADO в Microsoft Visual Basic, необходимо объявить переменную уровня модуля с помощью ключевое слово WithEvents. Переменная может быть объявлена только как часть модуля класса и должна быть объявлена на уровне модуля. Однако это не так ограничительно, как кажется, так как объекты Формы Visual Basic также являются классами. Самый простой способ обработки событий ADO — объявить переменную с помощью WithEvents. В следующем примере выполняется обработка события ConnectComplete для объекта Connection :
' BeginEventExampleVB02
Dim WithEvents connEvent As Connection
Attribute connEvent.VB_VarHelpID = -1
Dim strMsg As String
Private Sub Form_Load()
On Error GoTo ErrHandler:
Dim strConn As String
' Create a new object with event
' handling enabled.
strConn = "Provider='sqloledb';" & _
"Data Source='MySqlServer';" & _
"Initial Catalog='Northwind';" & _
"Integrated Security='SSPI';"
Set connEvent = New ADODB.Connection
connEvent.Open strConn
Exit Sub
ErrHandler:
MsgBox strMsg
End Sub
Private Sub connEvent_ConnectComplete(ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pConnection As ADODB.Connection)
If adStatus = adStatusErrorsOccurred Then
If Not pError Is Nothing Then
Select Case pError.Number
Case adErrOperationCancelled
' The operation was cancelled in the
' Will event. Notify the user and exit.
strMsg = "I'm sorry you can't connect right now." & vbCrLf
strMsg = strMsg & " Click OK to exit."
Unload Me
Case Else
strMsg = "Error " & Format(pError.Number) & vbCrLf
strMsg = strMsg & pError.Description
strMsg = strMsg & " Click OK to exit."
Unload Me
End Select
Else
strMsg = "Error occured. Click OK to exit."
Unload Me
End If
End If
'frmWait.btnOK.Enabled = True
End Sub
' EndEventExampleVB02
Объект Connection объявляется на уровне формы с помощью ключевое слово WithEvents для включения обработки событий. Обработчик событий Form_Load фактически создает объект , назначая новый объект Connectionдля connEvent , а затем открывает подключение. Конечно, реальное приложение будет выполнять больше обработки в обработчике событий Form_Load, чем показано здесь.