Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Управление порядком перехода по элементам формы
 
Добрый вечер! У меня есть форма, на которой много элементов (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
Изменено: Melafon - 29.10.2014 08:55:26
Перестают работать элементы управления на листе Excel
 
Добрый день!
Может, кто сталкивался с такой проблемой:
на листе Excel есть табличка, данные в которую грузятся из FireBird. Для организации фильтра выборки на листе расположил 2 textboxа, 10 checkboxов и 10 comboboxов. В момент открытия книги на событие Workbook_Open подвязан максос, который из справочников Firebird заполняет checkboxы. За два дня уже второй раз возникает глюк, когда элементы управления перестают работать. Т.е. на них невозможно нажать. Лечится включением режима конструктора и смещением элементов. За 7 лет раньше на разных версиях excel сталкивался раза 2-3, когда отдельная кнопка переставала нажиматься, но там пользователем был сам, поэтому было не критично включить конструктор и сдвинуть кнопку. Здесь приложение пользовательское, такой вариант не подходит.

как это можно обойти?  
Созданная макросом книга не активна!!! (Excel 2013)
 
Добрый день! При переходе на MS Office 2013 обнаружился неприятный момент. На конкретном примере: есть основная программа, которая открывает отчеты со сводными таблицами, подключенными к FireBird, копирует набор необходимых листов в новую книгу, редактирует подключение (отрезает часть данных - нарезает на подразделения) и сохраняет.

В начале программы отключаю DisplayAlerts и ScreenUpdating. Так вот, когда копируются листы в новую книгу, она не становится активной. Не помогает принудительная активация не через переменную:
set tmp = Activeworkbook
tmp.activate

не через имя
tmp = Activeworkbook.Name
Workbooks(tmp).Activate


активной остается открытая основная книга с отчетом, с которой производятся все действия.
Если не отключать ScreenUpdating, то работает нормально, если выключить и перед активацией нужной книги включить:
Application.ScreenUpdating = True
Workbooks(tmp).Activate
Application.ScreenUpdating = False
 то не помогает.

Может кто-то сталкивался с этой проблемой?  до 2013 офиса всегда нормально работало....а тут даже старые макросы работают не так.....
Страницы: 1
Наверх