Перехват ошибки 3314

JokDing
Дата: 11.11.2009 22:49:31
(3314: Значения поля не может быть null)

Есть форма (тип формы - таблица) состоящая из нескольких полей, в свойстве одного поля стоит обязательное заполнение. Естественно, если поля не заполнено, то выдает ошибку. Как перехватить сообщение об ошибке.
ILL HEAD
Дата: 12.11.2009 04:23:35
JokDing,
может так. в модуле формы пишеш обработчик ошибки
Private Sub Form_Error(DataErr As Integer, Response As Integer)
  If DataErr = 3314 Then
    Response = acDataErrContinue
    MsgBox "поле БЛАБЛАБЛА не может быть пустым!"
  End If
End Sub
шм&#1086
Дата: 12.11.2009 08:45:04
на последующее действие пишешь


if Not isNull(ME!MyFieldControl) Or ME!MyFieldControl <> "" Then
   'идешь дальше
Else
   'кричишь пользователю
end if
JokDing
Дата: 12.11.2009 09:16:53
Thanks!
bvmblad
Дата: 25.11.2011 01:24:54
if Not isNull(ME!MyFieldControl) Or ME!MyFieldControl <> "" Then
   'идешь дальше
Else
   'кричишь пользователю
end if


а как сделать чтобы ничего не кричать пользователю а просто вместо NULL поставить 0


Not isNull(ME!MyFieldControl) Or ME!MyFieldControl <> "" Then
   'идешь дальше
Else
   ME!MyFieldControl=0
   'кричишь пользователю
end if

такой номер непроходит вылетает ошибка нельзя менять значение поля в событи "до обновления"
на данное поле в таблице стоит ограничение на NULL и убирать его нельзя.
надо просто если пользователь нажал в поле "Delete" заменить null на 0.
Спасибо
mds_world
Дата: 25.11.2011 01:56:53
bvmblad
такой номер непроходит вылетает ошибка нельзя менять значение поля в событи "до обновления"
на данное поле в таблице стоит ограничение на NULL и убирать его нельзя.
надо просто если пользователь нажал в поле "Delete" заменить null на 0.
Спасибо

Так сделайте в событии Change
Private Sub Поле_Change()
    If Len(Me.Поле.text) = 0 Then Me.Поле.text = 0
End Sub
bvmblad
Дата: 25.11.2011 11:48:57
mds_world,

спасибо
что-то совсем я тупанул =)