Проблема BeforeUpdate - Ошибка выполнения 2115 - PullRequest
2 голосов
/ 12 октября 2009

Я написал следующий запрос:

Private Sub Size_Sqft_BeforeUpdate(Cancel As Integer)
  Me!Size_Sqft = Nz(Me!Size_Sqft, 0)
End Sub

Но, удаляя ноль в поле, чтобы сделать его нулевым, я получаю следующую ошибку:

Ошибка выполнения 2115

Макрос и функция, установленные до обновления и свойство правила проверки для этого поля, не позволяют экрану ввода данных вручную для компании сохранять данные в поле.

Ответы [ 2 ]

2 голосов
/ 21 января 2014

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

Private Sub ControlName_BeforeUpdate(Cancel as integer)
    If isValid(Me.ControlName.Value) = False Then
        Cancel = True
        Me.ControlName.Undo
    End If
End Sub

Private Function isValid(ByVal...) as boolean
    ' validate control value here
End Function
2 голосов
/ 12 октября 2009

Вы должны поместить этот код в событие AfterUpdate этого поля.

...