-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


On Error не работает

Среда, 25 Июля 2018 г. 13:21 + в цитатник
Добрый день! столкнулся с проблемой при использовании обработчика ошибок: есть две формы к которым я обращаюсь в своей процедуре, если формы не открыт то появляется ошибка 2450, на формах есть галочки состояние которых я проверяю в коде( т.е. отмечена или нет) почему то если ее не активировать то появляется ошибка 13(не определен тип), можно просто поставить и снять галку и все ок, но я хотел написать обработчик, что бы при возникновении этих ошибок программ перескакивал дальше и работала. Получается так:
при обращении к форме 1 появляется ошибка 2450- не найдена форма, обработчик ошибок ловит ее, появляется сообщение откройте форму, открываю форму иду далее, появляется вторая ошибка - 13, обработчик ее ловит перескакиваю иду дальше, обращаюсь ко второй форме - опять появляется ошибка 2450, но ее уже почему то обработчик не ловит и не обрабатывает, в чем дело не пойму, может кто то сталкивался с эти????

Private Sub акт_пп_ремкомплект_Click()
Dim №заявки, №кса, w As String
Dim Data As Date
On Error GoTo error1

№заявки = Forms![ФЗаявки]![№заявки]
№кса = Forms![ФЗаявки]![КСА].Column(1)
Data = Forms![ФЗаявки]![Дата]
Me.Dirty = False



If Forms![Ф_движениеТС]![Ф_З_акт_пп].Value = True Then
Forms![Ф_движениеТС]![акт п/п].SetFocus
w = Forms![Ф_движениеТС]![акт п/п].Text
Else
w = Left(№кса, 2) + "/-Р-" + Right(Data, 2)
End If

m1:
If Forms![Ф_движение РемКомплектов]![Ф_З_акт_пп_рем].Value = True Then
Forms![Ф_движение РемКомплектов]![акт п/п №].SetFocus
w = Forms![Ф_движение РемКомплектов]![акт п/п №].Text
Else
w = Left(№кса, 2) + "/-Р-" + Right(Data, 2)
End If

m2:

DoCmd.OpenForm "Ф_движение РемКомплектов"
DoCmd.RunCommand acCmdRefresh
DoCmd.GoToRecord , , acNewRec

Forms![Ф_движение РемКомплектов]![Дата].SetFocus
Forms![Ф_движение РемКомплектов]![Дата].Text = Data

Forms![Ф_движение РемКомплектов]![акт п/п №].SetFocus
Forms![Ф_движение РемКомплектов]![акт п/п №].Text = w

Forms![Ф_движение РемКомплектов]![Передан в].SetFocus
Forms![Ф_движение РемКомплектов]![Передан в].Text = №кса

Forms![Ф_движение РемКомплектов]![Передал].SetFocus
Forms![Ф_движение РемКомплектов]![Передал].Text = "Королев"

Forms![Ф_движение РемКомплектов]![Основание].SetFocus
Forms![Ф_движение РемКомплектов]![Основание].Text = "Ремонт ТС"

Forms![Ф_движение РемКомплектов]![Заявка№].SetFocus
Forms![Ф_движение РемКомплектов]![Заявка№].Text = №заявки
m = 0


Exit Sub

error1:

Select Case Err.Number
Case 13

m = m + 1
w = Left(№кса, 2) + "/-Р-" + Right(Data, 2)
If m = 1 Then
GoTo m1
Else
GoTo m2
End If


Case 2450
msg = "Необходимо открыть формы 'Ф_движениеТС, Ф_движение РемКомплектов'"
title = "Внимание!"
ms = MsgBox(msg, vbOKOnly, title)
On Error GoTo 0
Err.Clear

Exit Sub
End Select




End Sub

http://www.sql.ru/forum/1299556/on-error-ne-rabotaet


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку