Описание
Отменяет отложенный вызов асинхронного метода (только в рабочей области ODBCDirect).
объект.Cancel
Параметры
объект
Строковое выражение, значением которого является один из объектов, перечисленных в списке "Применение".
Замечания
Метод Cancel используют для отмены выполнения асинхронного метода Execute, MoveLast, OpenConnection или OpenRecordset(т.е. при неявном вызове метода с помощью параметра dbRunAsync). Если параметр dbRunAsync не был использован при вызове отменяемого метода, то метод Cancel возвращает ошибку выполнения.
В следующей таблице показано, какие задачи отменяются при вызове метода Cancel для объектов разных типов:
Ошибка возникает также, если после вызова метода Cancel делается попытка сослаться на объект, который был бы создан при асинхронном вызове метода OpenConnection или OpenRecordset (т.е. на объект Connection или Recordset, из которого был вызван метод Cancel).
Пример
Следующая программа использует свойство StillExecuting и метод Cancel для асинхронного открытия объекта Connection.
Sub CancelConnectionX() Dim wrkMain As Workspace Dim conMain As Connection Dim sngTime As Single Set wrkMain = CreateWorkspace("ODBCWorkspace", "admin", "", dbUseODBC) ' Открывает асинхронное подключение. Set conMain = wrkMain.OpenConnection("Publishers", dbDriverNoPrompt + dbRunAsync, False, _ "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers") sngTime = Timer ' Ожидает пять секунд. Do While Timer - sngTime < 5 Loop ' Если подключение не установлено, запрашивает пользователя, ' следует ли продлить ожидание. Если нет команды на продление, ' отменяет подключение и осуществляет выход из процедуры. Do While conMain.StillExecuting If MsgBox("Подключение не установлено. Продлить ожидание?", vbYesNo) = vbNo Then conMain.Cancel MsgBox "Подключение отменено!" wrkMain.Close Exit Sub End If Loop With conMain ' Использует объект Connection с именем conMain. .Close End With wrkMain.Close End Sub