powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не срабатывает On Error. Не могу понять.
10 сообщений из 10, страница 1 из 1
Не срабатывает On Error. Не могу понять.
    #33424976
impostor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

есть
часть кода:

On Error GoTo er1
s = "select * from table1"

If rcd.State = 1 Then rcd.Close
rcd.CursorLocation = adUseClient
rcd.Open s, conn, adOpenStatic, adLockBatchOptimistic


er1:

On Error GoTo er2
s = "select * from table2"

If rcd.State = 1 Then rcd.Close
rcd.CursorLocation = adUseClient
rcd.Open s, conn, adOpenStatic, adLockBatchOptimistic


er2:


Проблемма:Например если доступ к таблице 1 и таблице 2 закрыт, то
On Error GoTo er1
s = "select * from table1"

If rcd.State = 1 Then rcd.Close
rcd.CursorLocation = adUseClient
rcd.Open s, conn, adOpenStatic, adLockBatchOptimistic


er1:

проходит нормально, т.е. он стучится в таблицу, срабатывает on error и он спокойно шагает дальше после метки. Но втором случае вылетает окно о том что нет доступ на select запрещен и т.д.
Вопрос: почему не срабатывает и во втором случае on error?

Заранее благодарен.
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425044
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте err.clear и conn.AdoErrors.Clear
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425067
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Exit sub
перед каждым
er:

Exit sub
er:
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425104
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наткнулся когда-то на этот глюк - так и не нашел как с ним справиться.
Делаю примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub OpenRS(ByRef rs As ADODB.Recordset, ByVal s As String, ByVal CursorType_ As CursorTypeEnum, ByVal LockType_ As LockTypeEnum)
   If rs.State = adStateOpen Then rs.Close
   On Error GoTo Er1
   rs.Open s, Conn1, CursorType_, LockType_, adCmdText
   Exit Sub
Er1:
   Label1 = Label1 & Err.Description & vbCrLf
End Sub

Private Sub Command2_Click()
   OpenRS rs1, "select * from aaa", adOpenStatic, adLockReadOnly
   OpenRS rs2, "select * from aaa", adOpenStatic, adLockReadOnly
End Sub
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425267
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Error GoTo
подразумевает, что ошибка будет обработана, и что до следующего On Error будет Resume .

Какой глюк??? Никакого. Код неправильный.
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425322
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Letter_D On Error GoTo
подразумевает, что ошибка будет обработана, и что до следующего On Error будет Resume .

Какой глюк??? Никакого. Код неправильный.Ндя...
а я уже года три пишу на шестерке и не знал про это: Resume Next
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425388
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Worobjoff
Какой глюк??? Никакого. Код неправильный.Ндя...
а я уже года три пишу на шестерке и не знал про это: Resume Next [/quot]
И слава богу! Вы не представляете, от скольких глюков вы избавлены.
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425473
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имел в виду вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   On Error GoTo Er1
   '...
   '...
   GoTo NoEr1
Er1:
   MsgBox Err.Description
NoEr1:
   Resume Next
'----
   On Error GoTo Er2
   '...
   '...
   GoTo NoEr2
Er2:
   MsgBox Err.Description
NoEr2:
   Resume Next
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33425475
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   On Error GoTo Er1
   '...
   '...
   GoTo NoEr1
Er1:
   MsgBox Err.Description
   Resume Next
NoEr1:
'----
   On Error GoTo Er2
   '...
   '...
   GoTo NoEr2
Er2:
   MsgBox Err.Description
   Resume Next
NoEr2:
...
Рейтинг: 0 / 0
Не срабатывает On Error. Не могу понять.
    #33426333
impostor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 all
Всем большое спасибо за помощь. Теперь всё работает.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не срабатывает On Error. Не могу понять.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]