Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
1

Как отловить окно ошибки добавления или изменения записи и заменить на своё?

06.06.2016, 08:55. Показов 657. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сделал я форму на добавление записи, через мастер. Если я не указываю все поля формы и так, с не всеми указанными полями закрываю эту форму (нажимаю на крестик), то выскакивает ошибка о невозможности добавить запись. Эта ошибка меня нервирует, я хочу её убрать и просто не добавлять запись, а лучше узнать где заменить это окно на своё.

Собственно сам subject:
Как отловить окно ошибки добавления или изменения записи и заменить на своё?


Как достигнуть поставленные цели:
  1. убрать появление этого окна при закрытии формы не добавляя при этом ошибочную запись в БД?
  2. заменить появляющееся окно на своё или другую ину последовательность действий?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2016, 08:55
Ответы с готовыми решениями:

Как узнать, форма открыта для добавления записи или для изменения существующей?
всем привет! собственно вопрос в том и заключается: как узнать форма открыта для добавления записи...

Как показать свое окно ошибки, а не системное?
как показать свое окно ошибки а не системное. Когда стоит Doctor Watson то он показывает ошибки. У...

Есть форма для добавления записи, как ее использовать и для изменения записи
Есть форма для добавления записи, хочу ее использоавть и для изменения записи. Изменить свойства...

отловить события добавления записи в таблицу
Привет всем. имею borland delphi 2006 СУБД mysql 5-1-39 компонент подключения к mysql -...

3
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
06.06.2016, 10:08  [ТС] 2
Так я не стоял на месте, проверил последовательность событий. Когда мы нажимаем на крестик-выход выполняется следующая последовательность функций-обработчиков событий:
  1. Form_BeforeUpdate(Cancel As Integer)
  2. Form_Error(DataErr As Integer, Response As Integer)
  3. вылетает первое окно с ошибкой
  4. Form_Error(DataErr As Integer, Response As Integer)
  5. вылетает второе окно с ошибкой
  6. Form_Undo(Cancel As Integer)
  7. Form_Unload(Cancel As Integer)
  8. Form_Close()
Добавлено через 50 минут
Решил проблему следующим образом:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_Error(DataErr As Integer, Response As Integer)
    'MsgBox " Form_Error "
    Select Case DataErr
        Case 3201
            'MsgBox " 3201 - 1 ошибка"
            Response = acDataErrContinue
        Case 2169
            'MsgBox " 2169 - 2 ошибка"
            Response = acDataErrContinue
        Case Else
            'Default for any other errors:
            Response = acDataErrDisplay
        End Select
End Sub
0
Модератор
Эксперт MS Access
11960 / 4828 / 779
Регистрация: 07.08.2010
Сообщений: 14,140
Записей в блоге: 4
06.06.2016, 10:32 3
Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице Рабочий'.

ОК/// Справка
а причем здесь таблица Рабочий
выкладывайте базу
0
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
06.06.2016, 11:00  [ТС] 4
Цитата Сообщение от shanemac51 Посмотреть сообщение
а причем здесь таблица Рабочий
Форма была сделана мастером, в поле исполнитель данные берутся из таблицы Рабочий. В данном примере исполнитель не выбран, при добавлении партии будет нарушена целостность - нет рабочего, который NULL. Вот оно и выскакивало.
0
06.06.2016, 11:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2016, 11:00
Помогаю со студенческими работами здесь

Вывести свое окно с текстом ошибки
Мне надо вывести свое окно с текстом ошибки. Я НЕ ИСПОЛЬЗУЮ TFORM. Я все окно создаю с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru