Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: Силblч короче вот что получилось проверял, на сервере выполнение запроса прерывается, задача переходит в статус inactive и подчищается серверным джобом, каким то запускаю так
Set zs = CreateObject("ADODB.Recordset") zs.CursorLocation = adUseClient zs.Open fsql, conn, adOpenStatic, , adAsyncExecute Or adAsyncFetch If adoTray(zs, Me.Name) = 1 Then zs.Cancel' если был кэнсел, то кэнселим и этот запрос. почему то так все сработало :)
DoCmd.OpenForm ftnam, , , , , acDialog, fMain If IsFormLoaded(ftnam) Then Set ff = Forms(ftnam) If ff.isCancel = 1 Then adoTray = 1 SetStatus "Выполняется прерывание запроса на сервере..." If Not o Is Nothing Then If o.State = adStateOpen Then o.Close 'в принципе такой ситуации может и не быть, но на всякий случай :) End If Set o = Nothing 'обрубаем запрос на корю 'дальше, самое главное, обрубаем сессию. причем сперва - кэнсел, потом клозе. If Not conn Is Nothing Then If conn.State = adStateOpen Then conn.Cancel: conn.Close End If Set conn = Nothing If conn2dbasync(Nz(Forms("frm1")("txt1"), Environ("USERNAME")), _ Nz(Forms("frm1")("txt2"), "")) = 0 Then MsgBox "Не удалось подключиться к серверу(реплике) " & vbCrLf & _ conn.Errors.Item(0).Description & vbCrLf & iDevelop Exit Function End If SetStatus "Выполнение прервано пользователем..." End If '--cancel pending Set ff = Nothing DoCmd.Close acForm, ftnam End If
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.