powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Календарь
9 сообщений из 9, страница 1 из 1
Календарь
    #32072119
July
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Существует на форме1 Поле1 и Кнопка, по нажатию на которую запускается форма "Календарь". В этой форме выбирается дата, которая потом должна отображаться в поле1 на форме1.
...
Рейтинг: 0 / 0
Календарь
    #32072127
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И где вопрос? В чем проблема?
...
Рейтинг: 0 / 0
Календарь
    #32072142
July
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как это все провернуть?
...
Рейтинг: 0 / 0
Календарь
    #32072163
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если обе формы готовы, то я делаю так!
по нажатии на кнопку открываю форму! В поля на форме 2 вписываю значения, по нажатии Ок на форме 2 отрабатываю! Проверяю значения, проверяю открыта-ли форма 1 и если да то записываю значение в форму!
...
Рейтинг: 0 / 0
Календарь
    #32072184
July
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Форма "Календарь" - дополнительный объект Calendar9.0.
Можно подробнее, непонятно!
...
Рейтинг: 0 / 0
Календарь
    #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
Календарь
    #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
Календарь
    #32073189
July
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роману Ткачук:
Ошибка: 2491 макрокоманда содержит ошибку, так как форма или отчет не связаны с таблицей или запросом!!
Подскажите, если не трудно !! Спасибо!!
...
Рейтинг: 0 / 0
Календарь
    #32073212
Не подскажу так.
Трассируйте методы. Определите в какой строке ошибка. Потом если сами не поймёте, спрашивайте. Укажите строку, в которой происходит ошибка.
Я скопировал кусок из рабочего модуля, т.обр. проблемы, вероятнее всего, у вас.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Календарь
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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