|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
Использую 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 что-то не получается. Подскажите, пожалуйста, что делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:01 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
авторErr.Raise lngError Это не обработка ошибки, а ее создание. Так и должно быть? авторIf Err.Description = conAppError Then conAppError - это число, а Err.Description - текст сообщения об ошибке. Они никогда не будут равны друг другу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:09 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
Чуть сокращу.. 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 И что это все должно означать?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:11 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
авторElseIf Err.Description = "" Then MsgBox "Вы ввели в поле неправильный формат значения." И зачем выдавать такое сообщение, если Err.Description = ""? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:11 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
Опоздал. Но все равно вся процедура - какой-то бред... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:12 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
А! Я понил! (С) Здесь ошибки в вопросе, а обработкой занимаемся мы. Типа, кто больше найдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:13 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
Я для Ac2000 я обычно пишу: Const conErrFieldRequiered = 2113 If DataErr = conErrFieldRequiered Then MsgBox "Вы ввели в поле неправильный формат значения." Else Respone = acDataErrDisplay End If но в Ac97 - не пашет. >Здесь ошибки в вопросе, а обработкой занимаемся мы. > Типа, кто больше найдет. Нет, я просто попросил помощи, как сделать обработку ошибок в Ac97, может мне конечно надо было бы написать: "Сделайте за меня обработчик ошибок", но я просто написал то, что пробовал. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:21 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
Ну и все нормально. И в 97 должно пахать. Что именно не работает-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:25 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
авторЯ для Ac2000 я обычно пишу: Ну так и напиши для 97. Хотя при выполнении иф тоже response надо бы указать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:29 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
Опять опоздал. Все. Работать не могу. Пойду пиво пить. А что, ксати, за ошибка: 2113. В хелпах не нашел... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:34 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
Не то, чтобы не работает, а сначала выдает мое сообщение, а потом сообщение стандартное для Access, просто в Ac2000 выдает только одно мое сообщение, вот я и подумал, что не правильно пишу. Я понимаю, что можно написать: DoCmd.SetWarnings False а потом по Goto DoCmd.SetWarnings True но я просто подумал, что для Ac97 есть более правильная обработка ошибок, без отключений сообщений Access, поэтому и показал код, который пытался использовать. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:39 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
авторпотом сообщение стандартное для Access на это я уже ответил: авторпри выполнении иф тоже response надо бы указать response=acdataerrcontinue (или как там ее зовут - см. хелп) авторпросто в Ac2000 выдает только одно мое сообщение сомневаюсь... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:55 |
|
Обработка ошибок?
|
|||
---|---|---|---|
#18+
>А что, ксати, за ошибка: 2113. Введенное начение не подходит для данного поля. Например в числовое поле введены текст или число, превышающее предел, заданный в свойстве "Размер поля". Я в Help тоже не нашел такого номера ошибки :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2004, 00:56 |
|
|
start [/forum/topic.php?fid=45&msg=32468139&tid=1675597]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 156ms |
0 / 0 |