Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Маска ввода для поля на панели инструментов  [new]
OkeTurel
Member

Откуда:
Сообщений: 134
Привет!

У меня есть функция, вставляющая на панель инструментов поле для текущей даты. Функция выполняется при каждом открытии моей базы Access, благодаря макросу AutoExec.
Вот функция:
Public Function command_bar_create()
    Dim cbr As CommandBar
    Set cbr = Application.CommandBars("Настраиваемая 2")
    Dim cbrc As CommandBarComboBox
    Set cbrc = cbr.Controls.Add(Type:=msoControlComboBox, Before:=1, Temporary:=True)
    With cbrc
        .Caption = "Расчетная дата"
        .Style = msoComboLabel
        .Text = Date
        .AddItem Date
        .OnAction = "=date_current()"
    End With
    Set cbrc = Nothing
    Set cbr = Nothing
End Function


Есть ли возможность добавляемому на панель полю присвоить маску ввода?
26 дек 18, 13:41    [21773815]     Ответить | Цитировать Сообщить модератору
 Re: Маска ввода для поля на панели инструментов  [new]
studieren
Member

Откуда: Tashkent, Uzbekistan
Сообщений: 2823
OkeTurel,

Commandbar - это объект офиса, а не самого Access и там нет такого понятия/свойства "маска ввода". Я так понимаю, Вы повесили VBA функцию "date_current()" на событие "OnAction". Может в самом листинге той функции добавить код, который перед совершением каких-то действий отформатирует значение этого combobox? Не вариант?
26 дек 18, 14:05    [21773842]     Ответить | Цитировать Сообщить модератору
 Re: Маска ввода для поля на панели инструментов  [new]
OkeTurel
Member

Откуда:
Сообщений: 134
studieren, даже не знаю, попробую, конечно...
26 дек 18, 15:52    [21773958]     Ответить | Цитировать Сообщить модератору
 Re: Маска ввода для поля на панели инструментов  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 846
Можно сделать свой DatePicker на CommanbarControls.
26 дек 18, 17:58    [21774094]     Ответить | Цитировать Сообщить модератору
 Re: Маска ввода для поля на панели инструментов  [new]
OkeTurel
Member

Откуда:
Сообщений: 134
Predeclared, а как это сделать, не подскажете? Я пыталась, но не вышло.
27 дек 18, 09:59    [21774526]     Ответить | Цитировать Сообщить модератору
 Re: Маска ввода для поля на панели инструментов  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 846
Проще всего:
описать создание Floating CommandBar, например как на скрине,
взять за основу алгоритм рабочего DatePicker на форме,
(хорошие реализации на этом форуме имеются),
и скрестить два решения.

К сообщению приложен файл. Размер - 26Kb
27 дек 18, 18:18    [21775109]     Ответить | Цитировать Сообщить модератору
 Re: Маска ввода для поля на панели инструментов  [new]
OkeTurel
Member

Откуда:
Сообщений: 134
Спасибо за советы.
Я все же остановлюсь на простейшем варианте с проверкой типа данных. В функцию date_current(), повешенную на событие OnAction, внесу проверку IsDate. Спасибо всем.
28 дек 18, 13:44    [21775711]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить