Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как подавить сообщение об ошибке? / 25 сообщений из 27, страница 1 из 2
07.06.2004, 16:22:41
    #32551086
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
У меня есть ошибка например № 1111.
И при определенном наборе действий пользователя - выдается сообщение об ошибке.
Как перехватить ошибку таким образом, чтобы никакого сообщения не выдавалось, ни стандартного сообщения Access, ни встроенного моего собщения?

DoCmd.SetWarnings (False) - не помогает.
...
Рейтинг: 0 / 0
07.06.2004, 16:28:08
    #32551101
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Form_Error. Ты задаешь этот вопрос уже точно не первый раз (третий или пятый - я не уверен).
...
Рейтинг: 0 / 0
07.06.2004, 16:28:29
    #32551103
Alexander Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Точно не помню но кажется я делал так В момент ошибки программно нажимал esc.
...
Рейтинг: 0 / 0
07.06.2004, 16:28:41
    #32551106
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
On error resume next
...
Рейтинг: 0 / 0
07.06.2004, 16:35:08
    #32551124
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
2 ВС:
Про Form_Error я помню, мне надо не перехватить ошибку, а избавится от сообщения.
2 ALL - спасибо.

Все оказалось просто.
...
Рейтинг: 0 / 0
07.06.2004, 16:47:44
    #32551145
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
2 Alexander Popov
Просто пять баллов:)

Блин, впору коллекцию самых "мудрых" решений собирать:)
...
Рейтинг: 0 / 0
07.06.2004, 16:52:00
    #32551157
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Очень извиняюсь, но как написать Case на обработку ошибок. Т.е. если такая ошибка, то такое сообщение, если такая, то другое, если 1111, то On error resume next, во всех остальных случаях - стандартные сообщения?

Что-то у меня все время проблемы с синтаксисом.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_Error(DataErr As Integer, Response As Integer)   
    Const conErrFieldRequiered =  3101 
    Select Case (DataErr =  1111 ) 
    On error resume next
    Case (DataErr = conErrFieldRequiered) Or (DataErr =  2169 ) Then
        Response = acDataErrContinue
        MsgBox "Вы ввели в поле неправильный формат значения."
    Case
        Response = acDataErrDisplay
    End If
End Sub
? ? ?
...
Рейтинг: 0 / 0
07.06.2004, 16:54:57
    #32551167
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    Select Case Err.Number
        Case  3197 
            qd.Execute
            Resume Next
        Case Else
            MsgBox Err.Description, vbCritical + vbOKOnly, Err.Number
            Exit Sub
    End Select
...
Рейтинг: 0 / 0
07.06.2004, 16:56:06
    #32551170
Alexander Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
To Hummer
это было давно и мало того работало!!! В момент перехвата ошибки был код нажатия esc ни сообщения ничего не выскакивало.
...
Рейтинг: 0 / 0
07.06.2004, 16:59:28
    #32551177
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
автор
это было давно и мало того работало!!! В момент перехвата ошибки был код нажатия esc ни сообщения ничего не выскакивало.


можно было сделать так ещё:
установить фокус на кнопку OK (если он на Help) и послать Enter :)
...
Рейтинг: 0 / 0
07.06.2004, 17:02:36
    #32551181
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
В момент ошибки программно нажимал esc.
Лучше shell "format C:" :)
...
Рейтинг: 0 / 0
07.06.2004, 17:06:10
    #32551187
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
2 (c)VIG:
А вдруг кто-нибудь действительно кинет этот код на обработчик ошибок?
...
Рейтинг: 0 / 0
07.06.2004, 17:09:42
    #32551193
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
2 Alexander Popov
Один человек ОЧЕНЬ давно выполнял много запросов в цикле (docmd.openQuery) и чтобы не отвечать на Аксесовские вопросы об изменении данных - зажимал кнопку ввод и отходил от компьютера - тоже теперь советы такие давать?:)
...
Рейтинг: 0 / 0
07.06.2004, 17:12:54
    #32551198
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Зато быстро научит юзеров не делать ошибки
Юзер ,как и сапёр ,ошибается только один раз
...
Рейтинг: 0 / 0
07.06.2004, 17:30:44
    #32551226
Alexander Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Ну ладно ладно я же написал что это было ДАВНО (но работало) =)
...
Рейтинг: 0 / 0
07.06.2004, 19:55:36
    #32551456
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Написал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Select Case err.Number
        Case  2448 
            qd.Execute
            Resume Next
        Case  2169 
            MsgBox "Вы ввели в поле неправильный формат значения."
        Case Else
            Response = acDataErrDisplay
        Exit Sub
    End Select
И не работает.
Т.е. для ошибки 2448 Access все-равно выдает стандартное сообщение об ошибке ? ? ? :-(
...
Рейтинг: 0 / 0
07.06.2004, 21:08:46
    #32551504
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Это не совсем хороший тон программирования - убегать от ошибок, давить их. Сначала надо разобраться, откуда ошибка. К примеру, ваша ошибка 2448
?accesserror(2448)
You can't assign a value to this object.@* The object may be a control on a read-only form.
* The object may be on a form that is open in Design view.
* The value may be too large for this field.@@1@209424@1
выдается не спроста. Похоже, прога не может скушать вводимую информацию. А почему? Что-то не в порядке программно. Возможно также, что юзер что-то вводит не законно. Так дайте разумное сообщение пользователю. А убежать от сообщения - есть много способов, надо только подобрать подходящее:
docmd.CancelEvent, SendKeys "(esc)", Response ...
...
Рейтинг: 0 / 0
07.06.2004, 21:29:05
    #32551514
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
у меня Access97, а это сообщение появляется, когда я главную и подчиненную форму связываю по одному полю.
От этой ошибки никак не получается избавится.
А данные добавляются без проблем, только выводится это сообщение.

Что-то строка
Код: plaintext
DoCmd.CancelEvent, SendKeys "{ESC}", True ,   Response = acDataErrContinue
не работает
или
Код: plaintext
DoCmd.CancelEvent, SendKeys "{ESC}", Response = acDataErrContinue
тоже не работает.
...
Рейтинг: 0 / 0
08.06.2004, 17:31:20
    #32552944
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Что, неужели никто не знает ? ? ?

Код: plaintext
Вроде вопрос очень простой.
...
Рейтинг: 0 / 0
08.06.2004, 19:05:02
    #32553109
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Response : =
...
Рейтинг: 0 / 0
08.06.2004, 20:33:00
    #32553194
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
А в "обработчике" вот эта штука:
Код: plaintext
qd.Execute
нормально отрабатывает, или тоже с ошибкой? Может в схеме данных какая-то собака зарыта и ты через подчиненную форму заносишь данные, которые целостность нарушают?
...
Рейтинг: 0 / 0
08.06.2004, 22:12:02
    #32553256
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Когда пишу так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Select Case err.Number
        Case  2448 
           qd.Execute
           Resume Next
        Case  2169 
            MsgBox "Вы ввели в поле неправильный формат значения."
        Case Else
            Response = acDataErrDisplay
        Exit Sub
То ошибка все-равно выскакивает, т.е. у меня для Ac97 этот способ не работает.

Когда пишу так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Select Case err.Number
        Case  2448 
        DoCmd.CancelEvent, SendKeys "{ESC}", Response := acDataErrContinue
        Case  2169 
            MsgBox "Вы ввели в поле неправильный формат значения."
        Case Else
            Response = acDataErrDisplay
        Exit Sub
Access не съедает эту строчку:
DoCmd.CancelEvent, SendKeys "{ESC}", Response := acDataErrContinue
Ругается на "{ESC}" , говорит "Ожидалось, конец инструкции".

авторМожет в схеме данных какая-то собака зарыта и ты через подчиненную форму заносишь данные, которые целостность нарушают?
Честно говоря не знаю, наверно ничего не нарушаю, т.к. данные заносятся правильно (хотя это тоже не показатель).
Есть таблица со стороны один - на главной форме, есть таблица со стороны многие на подформе - вот и вся целостность (т.е. две таблицы - одна со стороны один, другая со стороны многие).
Я на подформе заношу данные со стороны многие только после того, как заполяю все данные на главной форме (для таблицы со стороны один).

Эта ошибка возникает только после того, как я добавляю связь для главной формы и подформы, полем из таблицы со стороны многие.
Если эту связь убрать, то все нормально работает (но тогда для другой формы не работает поиск с синхронизацией).
В общем замкнутый круг.
...
Рейтинг: 0 / 0
08.06.2004, 22:20:56
    #32553263
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
авторDoCmd.CancelEvent, SendKeys "{ESC}", Response := acDataErrContinue
Тьфу на нас на всех. Это же две команды!!! DoCmd.CancelEvent одна, а SendKeys другая. Кто сказал, что надо их перемешивать???
...
Рейтинг: 0 / 0
08.06.2004, 22:36:14
    #32553269
Gyslik.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Ok, написал:
Код: plaintext
1.
2.
DoCmd.CancelEvent

SendKeys "{ESC}", True, Response = acDataErrContinue
все-равно не работает!
...
Рейтинг: 0 / 0
08.06.2004, 22:43:23
    #32553277
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подавить сообщение об ошибке?
Это все студенты такие или только этот?
Response = acDataErrContinue
- это тоже отдельная команда. Неужели заглянуть в хелп тяжелее, чем писать в форум?

P.S. Ну, я тоже невнимательный. Кстати, это тоже повод меньше доверять форуму и больше хелпу.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как подавить сообщение об ошибке? / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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