Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: Силblч короче разобрался так же как и TOAD приложение теперь не залипает :)) оо4о не буду использовать просто делаю цикл, с проверкой состояния запущено пока оракл не раздуплится пользователь видит вполне логичную картинку :)) тем более его предупреждали до того как! а потом все корректно отрабатывает как то так в общем
Private Sub btnCancel_Click() On Error GoTo err123 If Err = 0 Then If MsgBoxC("Прерывание может занять несколько минут" & vbNewLine & _ "Вы действительно хотите прервать выполнение запроса к серверу?" _ , vbYesNo, "Подтвердите") = vbNo Then Exit Sub End If isCancel = 1 frmState.state = 1 timer_Stop If Not obj Is Nothing Then Me.capInfo.caption = "Прерываем..." SetStatus "Выполняется прерывание запроса на сервере..." '-- кнопку лочим Me.btnCancel.Locked = True '-- цикл, если все еще запущен, оборвем коннекшн и будем ждать Me.txtTimeOf = Format(TimeValue("00:00:00"), "hh:nn:ss") StartTime = Time() While obj.state = adStateExecuting '-- пока сервер не отпустит Me.txtTimeOf = Format(Abs(Time() - StartTime), "hh:nn:ss") Sleep 1: VBA.DoEvents Wend If obj.state = adStateOpen Or adStateFetching Then obj.Cancel obj.Close End If Set obj = Nothing End If Me.Hide VBA.DoEvents Exit Sub err123: MsgBoxC Error, vbCritical, "Прерывание запроса" Exit Sub End Sub
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.