Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Календарь / 9 сообщений из 9, страница 1 из 1
25.11.2002, 17:05
    #32072119
July
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарь
Существует на форме1 Поле1 и Кнопка, по нажатию на которую запускается форма "Календарь". В этой форме выбирается дата, которая потом должна отображаться в поле1 на форме1.
...
Рейтинг: 0 / 0
25.11.2002, 17:12
    #32072127
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарь
И где вопрос? В чем проблема?
...
Рейтинг: 0 / 0
25.11.2002, 17:19
    #32072142
July
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарь
Как это все провернуть?
...
Рейтинг: 0 / 0
25.11.2002, 17:47
    #32072163
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарь
Ну если обе формы готовы, то я делаю так!
по нажатии на кнопку открываю форму! В поля на форме 2 вписываю значения, по нажатии Ок на форме 2 отрабатываю! Проверяю значения, проверяю открыта-ли форма 1 и если да то записываю значение в форму!
...
Рейтинг: 0 / 0
25.11.2002, 18:21
    #32072184
July
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарь
Форма "Календарь" - дополнительный объект Calendar9.0.
Можно подробнее, непонятно!
...
Рейтинг: 0 / 0
26.11.2002, 07:19
    #32072303
Календарь
Форма под названием ПодчиненнаяДиапазонДат, на ней поля (контролы) П_НачДата и П_КонДата, соответственно кнопки Кн_НачДата и Кн_КонДата. Вот её модуль:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Option Compare Database
Option Explicit

Private Sub Кн_НачДата_Click()
On Error GoTo Err_Кн_НачДата_Click

    SelectedDate = Now()
    DoCmd.OpenForm  "Календарь" , , , , , acDialog
    If SelectedDate <>  0  Then П_НачДата = SelectedDate
    
Exit_Кн_НачДата_Click:
    Exit Sub

Err_Кн_НачДата_Click:
    MsgBox Err.Number &  ": "  & Err.Description
    Resume Exit_Кн_НачДата_Click
    
End Sub

Private Sub Кн_КонДата_Click()
On Error GoTo Err_Кн_КонДата_Click

    SelectedDate = Now()
    DoCmd.OpenForm  "Календарь" , , , , , acDialog
    If SelectedDate <>  0  Then П_КонДата = SelectedDate
    
Exit_Кн_КонДата_Click:
    Exit Sub

Err_Кн_КонДата_Click:
    MsgBox Err.Number &  ": "  & Err.Description
    Resume Exit_Кн_КонДата_Click
    
End Sub


Форма Календарь содержит ActiveX Calendar и кнопку Отмена, которая невидимая и с опцией "Отмена"=да.
Вот модуль этой формы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Option Compare Database
Option Explicit


Private Sub Form_Load()
   ЭлементActiveX0.Value = SelectedDate
End Sub

Private Sub ЭлементActiveX0_DblClick()
   SelectedDate = ЭлементActiveX0
   DoCmd.Close
End Sub

Private Sub Кн_Отмена_Click()
On Error GoTo Err_Кн_Отмена_Click

    SelectedDate =  0 
    DoCmd.Close

Exit_Кн_Отмена_Click:
    Exit Sub

Err_Кн_Отмена_Click:
    MsgBox Err.Number &  ": "  & Err.Description
    Resume Exit_Кн_Отмена_Click
    
End Sub


Соответственно вышеозначенную форму ПодчиненнаяДиапазонДат кладу когда надо куда надо, и имею доступ к ней:

Код: plaintext
1.
2.
    DatesDiapason.Start = Nz([ПодчиненнаяДиапазонДат].Form![П_НачДата])
    DatesDiapason.End = Nz([ПодчиненнаяДиапазонДат].Form![П_КонДата])


Спрашивайте, если чего неясно.
...
Рейтинг: 0 / 0
26.11.2002, 23:34
    #32072759
Vitality
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарь
А если так. Есть форма с календарем, кнопкой ОК и Cancel. Вот код модуля формы.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Public strForm As String
Public strField As String

Private Sub btnOk_Click()
    Dim frmSource As Form
    Dim txtDate As TextBox
    
    On Error GoTo FindForm_Error
    Set frmSource = Forms.Item(strForm)
    Set txtDate = frmSource.Controls.Item(strField)
    txtDate.Value = ctlCalendar.Value
    
    DoCmd.Close acForm,  "frmCalendar" 
    Exit Sub

FindForm_Error:
    MsgBox Err.Description
    Err.Clear
    DoCmd.Close acForm,  "frmCalendar" 
End Sub

Private Sub btnCancel_Click()
    DoCmd.Close acForm,  "frmCalendar" 
End Sub

Private Sub Form_Load()
    ctlCalendar.Value = Date
End Sub


В любой другой форме допустим имеем поле (txtDate) и кнопочку справа от него (btnDate), при нажатии на которую происходит следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub btnDate_Click()
    DoCmd.OpenForm  "frmCalendar" 
    Forms!frmCalendar.strForm = Me.Name
    Forms!frmCalendar.strField =  "txtDate" 
    If Me.txtDate <> "" Then
        Forms!frmCalendar.ctlCalendar.Value = Me.txtDate
    End If
End Sub

Вариант для случая, когда просто есть одно поле и в него необходимо получить дату. Форма, откуда происходит вызов календаря, передает в форму календаря свое имя и имя поля, которому необходимо присвоить дату. Все остальное сделает календарь.
...
Рейтинг: 0 / 0
27.11.2002, 23:42
    #32073189
July
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарь
Роману Ткачук:
Ошибка: 2491 макрокоманда содержит ошибку, так как форма или отчет не связаны с таблицей или запросом!!
Подскажите, если не трудно !! Спасибо!!
...
Рейтинг: 0 / 0
28.11.2002, 08:52
    #32073212
Календарь
Не подскажу так.
Трассируйте методы. Определите в какой строке ошибка. Потом если сами не поймёте, спрашивайте. Укажите строку, в которой происходит ошибка.
Я скопировал кусок из рабочего модуля, т.обр. проблемы, вероятнее всего, у вас.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Календарь / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]