Страницы: 1
RSS
Календарь на две формы
 
Доброго всем дня. Я новичок в формах и VBA, поэтому прошу не ругать сильно. Подскажите, пожалуйста: можно ли использовать 1 календарь для двух или более форм?
У меня две формы:
1) регистрация входящих документов
2) регистрация исходящих
В обеих есть поле дата, а в форме по входящим таких поля два (дата регистрации и дата самого поступившего дока)

Использую:
 
извините не дописала:
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Calendar_Click()
    Form.txtДата = Format(Me.Calendar.Value, "dd.mm.yyyy"  
'       dd.mm.yyyy
Unload Me
 End Sub
  
'при активации календаря-текущая дата
Private Sub UserForm_Initialize()
     Me.Calendar.Value = Date
End Sub
 
Private Sub Calendar_Click()
    Form.txtВходДата = Format(Me.Calendar.Value, "dd.mm.yyyy"  
'       dd.mm.yyyy
Unload Me
 End Sub



но, в форме входящие календарь открывается но не записывает выбранную дату в поле
 
попробуйте вместо "...Me.Calendar.Value.... " написать "...Форма_на_которой_календарь.Calendar.Value..." или введите глобальную переменную, присвойте ей значение из календаря и используйте в Ваших целях
Изменено: Sanja - 24.01.2014 15:28:33
Согласие есть продукт при полном непротивлении сторон
 
и в моем варианте и с вашими изменениями ругается именно на строке Private Sub Calendar_Click() и пишет "Ambiguous name detected: Calendar_Click()"
 
1. Оформляйте свой код тегом.
2. Используйте .ActiveControl
 
я только-только начинаю познавать VBA. Можете показать на моем коде что и как написать?
 
Например, у Вас на формах есть TextBox, куда нужно заносить дату. Календарь вызываем из этого TextBox:
Код
1
2
3
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Me.Calendar.show
End Sub
А в модуле календаря пишем так:
Код
1
2
3
Private Sub UserForm_Click()
    Me.ActiveControl =Format(Me.Calendar.Value, "dd.mm.yyyy")
End Sub
 
Юрий М, извините, что отвечаю только сейчас. Смотрите, у меня получается так: в одной форме дату календарь заносит в поле TextBox (форма 1) и все в порядке вроде. Но во второй форме, когда я открываю её и заношу входящие доки, календарь позволяет выбрать дату, но она не отображается в TetxBox2 (формы2) при этом все данные из формы 2  в таблицу заносятся нормально, а поле дата при этом пустое.

Подскажите, а вообще правильно использовать 1 календарь для двух НЕСВЯЗАННЫХ форм? Может он должен быть для каждой формы отдельный?
 
Юрий М, смотрите, всей действия работают в одной форме. А во второй календарь открывается, но ничего не дает делать, либо не отображает дату, а потом еще эту же дату (выбранную во 2 форме) показывает в форме 1 при её открытии.
 
Вы бы уже файл приложили
Согласие есть продукт при полном непротивлении сторон
 
извините, вот пример
 
Такое впечатление, что Вы не читаете то, что Вам пишут... Я предлагал вызывать календарь по событию в том поле, в которое нужно ввести дату. А Вы вызываете календарь отдельной кнопкой.
 
шаблон для вібора календаря на две формы
 
Юрий М, извините, я выложила первоначальный файл. Ваши предложения я тоже учитывала, но не сработало.
 
Юрий (с календарем выбора двух дат) - спасибо вам ОГРОМНОЕ. У вас там правда идет форма из формы, но я поставила ваше решение как мне нужно и все-все получилось как надо.

Спасибо всем за помощь и отзыв.
Страницы: 1
Читают тему
Loading...