Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2009, 19:03   #1
Lyubov1990
Пользователь
 
Аватар для Lyubov1990
 
Регистрация: 06.04.2009
Сообщений: 34
По умолчанию Календарик на форме

Здравствуйте, господа! Помогите пожалуйста, мне нужно чтобы пользователь вводил дату на моей форме с помощью календарика! Если это можно организовать, то подскажите как?
Изображения
Тип файла: bmp Безимени-1.bmp (77.8 Кб, 324 просмотров)
Lyubov1990 вне форума Ответить с цитированием
Старый 06.04.2009, 19:11   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию Выбор даты из календаря на форме

В прикреплённом файле нажмите на зелёную кнопку
В появившейся форме нажмите на кнопку возле поля для даты.


(добавлено)
У меня на сайте выложен ещё один пример такого же календарика на форме: http://excelvba.ru/Fill_Invoice
(см. вложение к статье)
Кроме того, на форме присутствуют выпадающие списки, и другие полезные примеры того, как облегчить и усовершенствовать ввод данных через форму на лист Excel)
Например, для полей "серия" и "номер" паспорта реализована проверка вводимых символов - допускается ввод только заданного количества цифр
Вложения
Тип файла: rar Ввод записей в базу данных через форму.rar (51.6 Кб, 836 просмотров)

Последний раз редактировалось EducatedFool; 16.11.2010 в 01:43.
EducatedFool вне форума Ответить с цитированием
Старый 06.04.2009, 19:21   #3
Lyubov1990
Пользователь
 
Аватар для Lyubov1990
 
Регистрация: 06.04.2009
Сообщений: 34
По умолчанию

Спасибо огромное! Вы мне очень помогли!
Lyubov1990 вне форума Ответить с цитированием
Старый 06.04.2009, 19:27   #4
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Немного отойду от темы, а можно сделать так, чтобы данные не добавлялись, а заменялись в одной ячейке?
ruavia3 вне форума Ответить с цитированием
Старый 06.04.2009, 19:36   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

При нажатии кнопки на форме срабатывает код:
Код:
Private Sub CommandButton1_Click()
    If Me.FIO = "" Then MsgBox "Не введена фамилия", vbCritical, "Ошибка": Exit Sub
    If Me.Date1 = "" Then MsgBox "Не введена дата рождения", vbCritical, "Ошибка": Exit Sub
    Dim cell As Range: Set cell = [a65000].End(xlUp).Offset(1)

    ActiveSheet.Unprotect Пароль    ' снимаем защиту
    cell = cell.Row - 1: cell.Next = Me.FIO: cell.Next.Next = Me.Date1
    ActiveSheet.Protect Пароль    ' снова ставим защиту
End Sub
Замените в нем Set cell = [a65000].End(xlUp).Offset(1)
на Set cell = [a65000].End(xlUp) - и данные всегда будут заноситься в последнюю строку

А если замените на Set cell = [d5], то данные попадут в ячейки d5 : d7
EducatedFool вне форума Ответить с цитированием
Старый 07.04.2009, 05:35   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А почему в форме не использовать стандартный элемент управления DTPicker?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 07.04.2009, 07:22   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
А почему в форме не использовать стандартный элемент управления DTPicker?
Хватит с меня этих Picker-ов.
Когда-то пользовался ими, но при переносе файла на другой комп приходится таскать вместе с файлом бибилиотеку Common Controls (или какую-то другую, не помню уже), а потом ещё и регистрировать её.

Раньше я так и делал (свой файл сопровождал инсталлятором), пока не встретил эту реализацию календаря от Avsha.
Теперь пользуюсь только ей.
EducatedFool вне форума Ответить с цитированием
Старый 07.04.2009, 07:32   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вообще-то, я именно потому и спросил, что зачем "таскать" в файле форму, если подобная уже существует в Excel. Необходимые библиотеки, начиная с версии 2003 инсаллируются при обычной установке Office (если, конечно, специально не отключать). Но, как говорится, Вам виднее.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 07.04.2009, 08:00   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Необходимые библиотеки, начиная с версии 2003 инсаллируются при обычной установке Office (если, конечно, специально не отключать). Но, как говорится, Вам виднее.
Вот этого не знал...
Я использовал этот компонент во времена всеобщего использования Office 2002, когда отсутствие этого компонента при стандартной установке Office было нормой.

Похоже, действительно пора переходить на DTPicker...
EducatedFool вне форума Ответить с цитированием
Старый 17.04.2009, 09:57   #10
Punker1
 
Регистрация: 18.03.2009
Сообщений: 6
По умолчанию

В стандартной установке ни в 2003 ни в 2007 календаря нет, надо дополнительно в опциях установки Access ставить галку на элементе управления календарь, сам с этой проблемой столкнулся.
Punker1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рамка на форме... Deight Общие вопросы Delphi 6 30.12.2008 12:19
Фопрос по форме. yura-cat Помощь студентам 1 15.10.2008 20:02
Кнопки на форме forzi Помощь студентам 5 10.05.2008 11:56
Gif на форме SnakeMan Помощь студентам 3 04.04.2008 15:05
Gif'ы на форме GAGARIN-NEW Общие вопросы Delphi 3 11.11.2007 11:22