Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> On ERROR v DB / распознавание ошибок 
:(
    Опции темы
Гость_Olga
Дата 6.10.2004, 00:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Мы находимся в окне "Add new employee to DB". После ввода информации в поля все сохраняется кнопкои <OK>.
На этои кнопке <OK> мне нужно поставить проверку на ошибки при вводе данних в поля (дублирование ключевих значений, несоответствие типов и т.д.)
.....
On Error GoTo ErrorHandler
.....
Exit Sub
ErrorHandler: MsgBox "Re-enter Date of Birth"
End Sub

ВОПРОС: А как быть, если я хочу выдавать различные MsgBox"ы для различних ошибок
(полеи-то несколько)???

Спасибо
Оля

  Вверх
Guest
Дата 6.10.2004, 08:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











GetLastError
  Вверх
Akina
Дата 6.10.2004, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Я не понял... бред какой-то... какие нахрен ошибки??? с точки зрения приложения ошибок нет, ввод прошел нормально... это с точки зрения логики прораммы данные не соответствуют - но это не ошибка. И соответственно обрабатывается это не обработчиком ошибок, а обычным программным кодом... и вообще - для чего у полей ввода есть метод Validate, как ты думаешь?




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 6.10.2004, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(Akina @ 6.10.2004, 07:57)
... и вообще - для чего у полей ввода есть метод Validate, как ты думаешь?

Akina, спокойней надо быть smile.gif - не все знают что такое метод Validate вообще. Написал бы лучше человеку как сделать... thumbs-up.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
shilnik
Дата 6.10.2004, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 22.12.2003

Репутация: нет
Всего: 1



Ошибку можно различить по Err.Number
Например:
Код

ErrorHandler:
 Select Case Err.Number
 Case 3146
   MsgBox "Кажется вылет по таймауту для ODBC"
 Case else
   MsgBox "Произошла ошибка! " & Err.Number & ": " & Err.Description
 End Select




--------------------
каталог товаров qp1
PM MAIL WWW   Вверх
cardinal
Дата 6.10.2004, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



shilnik, тут не в этом дело вообще smile.gif Akina все правильно написал, но не полностью thumbs-up.gif



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Akina
Дата 7.10.2004, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата
На этои кнопке <OK> мне нужно поставить проверку на ошибки при вводе данних в поля (дублирование ключевих значений, несоответствие типов и т.д.)


Ну что-то около так:

Код
Private Sub ButtonOK_Click
If Check1(Text1.Text) Then
   Msgbox "Что за бредятина в поле ФАМИЛИЯ?" & vbCR & "Ну-ка быстренько поправил..."
   Text1.GotFocus
   Exit Sub
End If
If Check2(Combo2.Value, Text1.Text) Then
   Msgbox "Что за бредятина в поле ТОВАР?" & vbCR & "Такие дорогие вещи продают только тем у кого двойная фамилия" & vbCR & "Ну-ка быстренько поправил..."
   Combo2.GotFocus
   Exit Sub
End If
....
MsgBox "Ну наконец-то все заполнено как положено" & vbCR & "Сиди, жди - ща запишу в базу..."
Call InsertNewData(Combo2.Value, Text1.Text)
Call ClearForm()
End Sub



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Guest
Дата 7.10.2004, 20:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Spasibo! Vot teper' dohodchivo poluchilos' !

Olia-chainik
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.3192 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.