Добрый вечер! У меня есть форма, на которой много элементов (label, textbox, combobox). Форма используется для разных целей, запускается в нескольких режимах. Очень хочется для удобства настроить порядок перехода по элементам управления в зависимости от режима формы. Также одна из проблем переходов - контроль ввода даты в текстбокс. Данные считываются с формы и вносятся в таблицу БД Firebird, поэтому она должна быть введена в текстбокс в формате dd.mm.yyyy. Соответственно самое примитивное условие, с которого начинаю проверку, чтобы количество знаков было 10. Если условие не выполняется, то нужно стереть введенный текст, и установить курсор в этот же текстбокс. Попытался через SetFocus - не работает. Msgbox выводит, текст очищает, но курсор становится в следующий по порядку элемент. Простой пример в прикрепленном файле. Помогите(((
Выход из текстбокса обрабатываю так:
Выход из текстбокса обрабатываю так:
| Код |
|---|
Private Sub ACC_DATE_Exit(ByVal Cancel As MSForms.ReturnBoolean) ttext = Me.ACC_DATE.Value len_ttext = Len(ttext) If len_ttext <> 10 Then MsgBox "Дата должна быть в формате dd.mm.yyyy" UserForm1.ACC_DATE.Value = "" UserForm1.ACC_DATE.SetFocus End If End Sub |
Изменено: - 29.10.2014 08:55:26