Я создал максимальное значение для учебника в пользовательской форме, который извлекает таблицы из SQL. Эта пользовательская форма ссылается на SQL-запрос в отдельной части рабочей книги.
В пользовательской форме пользователь может указать в текстовом поле (txtrownum
), сколько строк они хотят вернуть. Максимум, что они могут вернуть - 100 000.
Если это больше 100 000, у меня появляется MsgBox
, говорящее, что максимальная сумма равна 100 000, а значение текстового поля автоматически заполняется до 100 000.
Этот код отлично работает и находится ниже.
Private Sub txtrownum_Change()
'Here needs to be code where you can erase after it autocorrects,
'the problem is when you try to erase it pulls up message box again and
'won't let you change it
If txtrownum.Value > 100000 Then
MsgBox "Maximum Number of Rows is 100,000"
txtrownum.Value = "100000"
End If
End Sub
Однако после 100 000 автозаполнений, если пользователь хочет полностью стереть это значение и ввести номер строки менее 100 000, Msgbox снова появляется и повторно заполняется с 100 000. Если пользователь выделит 100 000, он может написать без проблем. Но если они выделяют «100 000» и нажимают клавишу Backspace, сообщение появляется снова. Любой совет?