powered by simpleCommunicator - 2.0.47     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обработка ошибок?
14 сообщений из 14, страница 1 из 1
Обработка ошибок?
    #32468126
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую Ac97 хочу сделать перехват ошибок, пишу:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
'Debug.Print "err="; DataErr
Const conAppError = 2113 ' Это номер моей ошибки

On Error Resume Next
Err.Raise lngError
If Err.Description = conAppError Then
ErrorString = AccessError(lngError)
ElseIf Err.Description = "" Then
MsgBox "Вы ввели в поле неправильный формат значения."
Else
ErrorString = Err.Description
End If
End Sub

И не работает, в чем дело, не пойму. Для Ac2000 все было проще, а в Ac97 что-то не получается.
Подскажите, пожалуйста, что делаю не так?
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468128
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторErr.Raise lngError
Это не обработка ошибки, а ее создание. Так и должно быть?

авторIf Err.Description = conAppError Then
conAppError - это число, а Err.Description - текст сообщения об ошибке. Они никогда не будут равны друг другу.
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468129
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чуть сокращу..

Private Sub Form_Error(DataErr As Integer, Response As Integer)
On Error Resume Next
Err.Raise lngError
If Err.Description = 2113 Then
ErrorString = AccessError(lngError)
ElseIf Err.Description = "" Then
MsgBox "Вы ввели в поле неправильный формат значения."
Else
ErrorString = Err.Description
End If
End Sub


И что это все должно означать?..
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468130
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторElseIf Err.Description = "" Then
MsgBox "Вы ввели в поле неправильный формат значения."
И зачем выдавать такое сообщение, если Err.Description = ""?
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468131
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опоздал.
Но все равно вся процедура - какой-то бред...
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468132
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А! Я понил! (С)
Здесь ошибки в вопросе, а обработкой занимаемся мы. Типа, кто больше найдет.
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468133
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я для Ac2000 я обычно пишу:
Const conErrFieldRequiered = 2113
If DataErr = conErrFieldRequiered Then
MsgBox "Вы ввели в поле неправильный формат значения."
Else
Respone = acDataErrDisplay
End If
но в Ac97 - не пашет.
>Здесь ошибки в вопросе, а обработкой занимаемся мы.
> Типа, кто больше найдет.
Нет, я просто попросил помощи, как сделать обработку ошибок в Ac97, может мне конечно надо было бы написать: "Сделайте за меня обработчик ошибок", но я просто написал то, что пробовал.
:-)
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468134
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ну и все нормально. И в 97 должно пахать. Что именно не работает-то?
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468135
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ для Ac2000 я обычно пишу:
Ну так и напиши для 97. Хотя при выполнении иф тоже response надо бы указать
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468136
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять опоздал.
Все. Работать не могу. Пойду пиво пить.
А что, ксати, за ошибка: 2113.
В хелпах не нашел...
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468137
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не то, чтобы не работает, а сначала выдает мое сообщение, а потом сообщение стандартное для Access, просто в Ac2000 выдает только одно мое сообщение, вот я и подумал, что не правильно пишу.
Я понимаю, что можно написать:
DoCmd.SetWarnings False
а потом по Goto
DoCmd.SetWarnings True
но я просто подумал, что для Ac97 есть более правильная обработка ошибок, без отключений сообщений Access, поэтому и показал код, который пытался использовать.
:-)
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468138
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпотом сообщение стандартное для Access
на это я уже ответил:
авторпри выполнении иф тоже response надо бы указать
response=acdataerrcontinue
(или как там ее зовут - см. хелп)
авторпросто в Ac2000 выдает только одно мое сообщение
сомневаюсь...
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468139
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А что, ксати, за ошибка: 2113.
Введенное начение не подходит для данного поля. Например в числовое поле введены текст или число, превышающее предел, заданный в свойстве "Размер поля".

Я в Help тоже не нашел такого номера ошибки :-)
...
Рейтинг: 0 / 0
Обработка ошибок?
    #32468141
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo:
Спасибки, для поста от 00:39 - пока я писал следующий вопрос уже появился ответ, а в общем я все понял.
:-)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обработка ошибок?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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