Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Вызов формы календаря из другой формы.


Автор: Валк 7.6.2006, 07:29
Допустим при вызове макроса появляется форма в которой всего три строки:
  •  Начало периода [Поле для вставки даты]
  •  Конец периода [Поле для вставки даты]
  •  Кнопки "Сформировать" и "Отмена"
Как можно сделать, чтобы при каком-либо действии (например, при двойном клике в поле для вставке даты или, при использовании формы ComboBox, нажатии на кнопку "Треугольник") вызывалась другая форма, форма календаря. При выборе даты в форме календаря, форма календаря должна исчезнуть и значение даты должно появиться в поле начала или конца периода, в зависимости от того где было произведено действие (двойной клик и т. п.). Также должна остаться возможность ручного ввода даты как в формате 07.06.06, так и в формате 7/6/6.

Думаю, что это вполне типовая задача и её решение уже готово, просто я не знаю где это решение найти. 

Автор: Akina 7.6.2006, 08:22
Просто в качестве поля для ввода даты используй DatePicker 

Автор: Валк 7.6.2006, 13:31
Akina
в качестве поля для ввода даты используй DatePicker
Кхм... А это где? Я форму вставил, вызвал ToolBox, в нём нет DatePicker. 

Автор: Akina 7.6.2006, 13:39
Цитата

The DateTimePicker control is part of a group of ActiveX controls that are found in the MSCOMCT2.OCX  file. To use the DateTimePicker control in your application, you must add the MSCOMCT2.OCX  file to the project. When distributing your application, install the MSCOMCT2.OCX  file in the user's Microsoft Windows System or System32 directory.
 

Автор: Валк 7.6.2006, 14:01
Akina
Нет у меня такого файла smile
Где взять? 

Автор: Akina 7.6.2006, 15:43
Цитата(Валк @  7.6.2006,  15:01 Найти цитируемый пост)
Где взять?  

download.microsoft.com -> search 

Автор: Валк 7.6.2006, 15:54
Akina
download.microsoft.com -> search
Так это не стандартный компонент?

http://www.microsoft.com/downloads/results.aspx?pocId=&freetext=MSCOMCT2.OCX&DisplayLang=ru
На англ. - то же самое. 

Автор: Staruha 7.6.2006, 20:31
После того как добавишь форму ,правой кнопкой жмешь на панель инструментов этой формы - ADDtional Controls-поставишь галочку-Элемент управления календарь.Он появится на панели инструментов (Toolbox).Все хватаешь и кидаешь на форму.и Range("A1")=календарь.value 
 Если вдруг Календаря не окажется,значит при установке офиса была снята галочка Календарь Access 

Автор: trix 9.6.2006, 15:20
Цитата(Валк @  7.6.2006,  15:54 Найти цитируемый пост)
Так это не стандартный компонент?

помойму он вполне стандартный. 
Так как ты н аформу его вешаеш, делай следующее:
Toolbox(Control)(там где все твои элементы находятся) -> Правая кнопка мыши -> Additional Controls -> ставиш галочку на строчке Microsoft Date And Time Picker Control 6.0 (SP4) -> жмеш OK -> на этом тулбоксе появился, в конце, новый элемент DTPicker -> вешаеш его на форму.
Все. Оно тебе и надо. 

Автор: Валк 14.6.2006, 08:02
Файл MSCOMCT2.OCX мне прислали по почте (в очередной раз благодарю Aloha).

Я его интегрировал в систему (записал в папку %WinDir%/system32/ и выполнил команду %WinDir%\system32\regsvr32.exe %WinDir%\system32\MSCOMCT2.OCX).

Интересовавший меня календарь называется Microsoft Date And Time Picker Control, version 6.0 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)