Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
monomakh
Member

Откуда: Краснодар
Сообщений: 570
Не могу понять почему так, но суть такая, использую событие
Private Sub Form_Error(DataErr As Integer, Response As Integer)

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

так вот есть у меня некоторые поля которые должны быть заполненными. Ловится ошибка 515 cannot insert null и далее мне нужно вывести какое же поле не заполнено. Проверка me.quantity="" не помогает. Само значение null. me.quntity=NULL или Empty или is null или is empty - не ловятся. Так как же тогда? Кстати, в процессе тестирования я даже баг словил, который, правда пока повторить не смог, есть поле со списком и установкой брать только из списка, а в БД not null. Так вот каким-то образом туда умудрился вставиться символ перевода каретки chr(13). Т.е. вроде и не null, но и в списке значений его нет, да и как он туда вставился - это вопрос большой :)
17 ноя 06, 16:28    [3416707]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
osmor
Member

Откуда: hiprog.com
Сообщений: 1173
Перенести все условия и сообщения об ошибках на уровень полей формы, а еще лучше таблицы
17 ноя 06, 16:31    [3416746]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
monomakh
Member

Откуда: Краснодар
Сообщений: 570
А точнее? Уровень полей формы, это если какое-то событие с этим полем произойдет, а если его никто не трогает - значит и события нет. А поле NULL осталось... А на уровень таблицы - это как?
17 ноя 06, 16:40    [3416835]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
BULK INSERT
Member

Откуда: Ленинград
Сообщений: 4615
monomakh
А на уровень таблицы - это как?


это в дизайнере таблиц:

Table_Field ValidationRule = IsNotNull
Table_Field ValidationText = "введите значение в поле Table_Field"
17 ноя 06, 16:43    [3416871]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
monomakh
А точнее? Уровень полей формы, это если какое-то событие с этим полем произойдет, а если его никто не трогает - значит и события нет. А поле NULL осталось... А на уровень таблицы - это как?
JОчевидно, в свойство таблицы «Обязательное поле» (Required) поставить True.
18 ноя 06, 01:53    [3418681]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
monomakh
Member

Откуда: Краснодар
Сообщений: 570
Не думал, что это будет иметь значение, но у меня ADP проект. Если дизайнер и конструктор - это одно и тоже - то ничего такого я там найти не могу. Свойство Required, к сожалению, тоже отсутствует
20 ноя 06, 10:30    [3422494]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
monomakh
Member

Откуда: Краснодар
Сообщений: 570
Ну, а на VBA проверить нельзя чтоли?
20 ноя 06, 10:33    [3422518]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
monomakh
Member

Откуда: Краснодар
Сообщений: 570
Конечно, можно по идее на триггере вставки или обновления сделать raise и там сообщение русское, но зачем так далеко идти, если наверное же можно на vba в access сделать проверку null. Или нельзя?
20 ноя 06, 14:08    [3424387]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
monomakh
Member

Откуда: Краснодар
Сообщений: 570
Все, нашел. Isnull мне помог
20 ноя 06, 14:10    [3424401]     Ответить | Цитировать Сообщить модератору
 Re: Как отловить ошибку, а точнее текущее значение ошибочного поля  [new]
George-III
Member

Откуда:
Сообщений: 3689
Честно говоря не понял затруднения... А что нельзя воспользоваться IsNull(Me.МоёПоле.Value)???
20 ноя 06, 14:10    [3424403]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить