Среда, 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
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-