У меня есть форма с несвязанным полем комментариев, которое мы хотим ограничить количеством символов в нем.Чтобы сделать вещи максимально чистыми и убедиться, что это не что-то еще, я создал новую форму с двумя несвязанными текстовыми полями.«Text0» - это место, где вы вводите данные, а «Text1» - счетчик.
Private Sub Text0_Change()
If Not IsNull(Me.Text0.Text) Then
If Len(Me.Text0.Text) > 20 Then
Dim resp As Integer
resp = MsgBox("Exceeded the number of characters allowed.", vbOKOnly, "Too long")
Me.Text0 = Left(Me.Text0, 20)
End If
Me.Text1 = Len(Me.Text0.Text) & _
" /20 characters used."
Else
Me.Text1 = "0 /20 characters used."
End If
End Sub
К вопросу.Если вы начинаете вводить данные, все в порядке, он считает длину.Однако, когда он достигает предела, окно появляется, но как только вы нажимаете OK, оно закрывает поле.
Я также пытался ввести правило проверки, но оно не срабатывает до потери фокуса.
Как вы предотвращаете уничтожение уже введенных данных?Фактический предел поля намного длиннее, и повторный ввод комментариев не будет выполняться.