powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
18 сообщений из 18, страница 1 из 1
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338288
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338430
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
контрол такой-то = контрол такой-то
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338674
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимир Саныч
Это первое что я сделал. Имя контролов в форме НачальнаяДата и КонечнаяДата, имена контролов в отчете аналогичные. При запуске отчета, открвывается форма(!), куда вводятся даты, нажимается ОК - форма закрывается и открывается отчет с отобранными записями (все как в Борее с продажами по годам). Проблема в том, что в самом отчете требуется явно указать тот период, что был введен через форму! So, если в свободных контролах отчета писать в имени НачальнаяДата и КонечнаДата то период в них не вписывается, а если указать в данных =НачальнаяДата и =КонечнаяДата, то после закрытия формы (и перед открытием отчета соот.) запускаются окна для ввода этих дат, - повторно требуется даты вводить! И какой прок тогда от этой формы? Вопрос в том и состоит: как это обойти?
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338677
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
автор писал:писать в имени НачальнаяДата и КонечнаДата
Что значит в имени? .Name, что ли? Не надо никакого .Name!
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338680
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет. вы не так поняли. в конструкторе отчета создаю 2 свободных поля, перехожу в их свойства через контекстное меню выбираю вкладку "Все", там есть строки "Имя" и "Данные". Вот это Имя я имел в виду
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338682
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Все не так. :^)

Конструктор ни при чем. То, что я советовал (контрол такой-то = контрол такой-то), нужно написать в OnOpen отчета.
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338683
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь можно же не закрывать форму до открытия отчета?
Или передать даты через переменные. Или включить их в запрос.
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338688
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
Private Sub Report_Open(Cancel As Integer)
' Открытие формы "Даты".
' Функция IsLoaded (из модуля  "Служебные функции" ) определяет,
' открыта ли конкретная форма.
    
    Dim strDocName As String

    strDocName = "Даты"
    ' Задание для общей переменной значения True, чтобы
    ' сообщить форме, что для отчета выполняется событие
    '  "Открытие"  (Open).
    blnOpening = True
    
    ' Открытие формы.
    DoCmd.OpenForm strDocName, , , , , acDialog
 
    ' Если форма не загружена, невозможен просмотр или печать отчета.
    ' (Пользователь нажал в форме кнопку "Отмена".)
    If IsLoaded(strDocName) = False Then Cancel = True
    Forms![НачальнаяДата] = Reports![НачальнаяДата]
    Forms![КонечнаяДата] = Reports![КонечнаяДата]
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening = False
    
End Sub

Пишет, что невозможно Invalide use of property. Я еще вчера пытался так сделать.
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338690
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
Private Sub Report_Open(Cancel As Integer)
' Открытие формы "Даты".
' Функция IsLoaded (из модуля  "Служебные функции" ) определяет,
' открыта ли конкретная форма.
    
    Dim strDocName As String

    strDocName = "Даты"
    ' Задание для общей переменной значения True, чтобы
    ' сообщить форме, что для отчета выполняется событие
    '  "Открытие"  (Open).
    blnOpening = True
    
    ' Открытие формы.
    DoCmd.OpenForm strDocName, , , , , acDialog
 
    ' Если форма не загружена, невозможен просмотр или печать отчета.
    ' (Пользователь нажал в форме кнопку "Отмена".)
    If IsLoaded(strDocName) = False Then Cancel = True
    Forms![Даты]![НачальнаяДата] = Reports![РайоныДата]![НачальнаяДата]
    Forms![Даты]![КонечнаяДата] = Reports![РайоныДата]![КонечнаяДата]
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening = False
    
End Sub

А если так, то пиишет, что введенное значение не подходит для даного поля
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338693
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
автор писал: Forms![Даты]![НачальнаяДата] = Reports![РайоныДата]![НачальнаяДата]
Forms![Даты]![КонечнаяДата] = Reports![РайоныДата]![КонечнаяДата]
Наоборот! Нам же надо перенести из формы в отчет.
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338694
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А. Сорри. Форма же уже закрыта... Значит, так:

описываем две глобальных переменных,
в форме перед закрытием заносим значения в них,
в отчете берем не из формы, а из переменных.
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338709
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимир Саныч
Изв. за подгрузку пишет ошибку типа (Missmatch 13) на начальной дате, в чем здесь глюк?

Код: 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.
Private Sub Report_Open(Cancel As Integer)
' Открытие формы "Даты".
' Функция IsLoaded (из модуля  "Служебные функции" ) определяет,
' открыта ли конкретная форма.
    
    Dim strDocName As String
    Dim dtmPerem1 As Date
    Dim dtmPerem2 As Date
    strDocName = "Даты"
    ' Задание для общей переменной значения True, чтобы
    ' сообщить форме, что для отчета выполняется событие
    '  "Открытие"  (Open).
    blnOpening = True
    
    ' Открытие формы.
    DoCmd.OpenForm strDocName, , , , , acDialog
    dtmPerem1 = "НачальнаяДата"
    dtmPerem2 = "КонечнаяДата"
    ' Если форма не загружена, невозможен просмотр или печать отчета.
    ' (Пользователь нажал в форме кнопку "Отмена".)
    If IsLoaded(strDocName) = False Then Cancel = True
    Reports![РайоныДата]![НачальнаяДата] = dtmPerem1
    Reports![РайоныДата]![КонечнаяДата] = dtmPerem2
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening = False
    
End Sub
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338717
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Во-первых, надо заносить в переменную не строку "НачальнаяДата", а дату с формы. Во-вторых, надо это делать до того, как форма закрылась.
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338744
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимир Саныч
С переменной я все понял - поставил даты из формы. как говорится до успеха только шаг, но вот на эту строку:
Код: plaintext
1.
Reports![РайоныДата]![НачальнаяДата] = dtmPerem1
    Reports![РайоныДата]![КонечнаяДата] = dtmPerem2
пишет невозможно присвоить значение объекту, менял местами не помогает, в хелпе ответа не нашел! Что здесь неправильно в синтаксисе?
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338748
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Это должно стоять в OnOpen отчета. И тогда можно писать так:

Me![НачальнаяДата] = dtmPerem1
Me![КонечнаяДата] = dtmPerem2

Если не получится, значит я тоже чего-то не знаю.
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338750
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все равно пишет, что не может присвоить значение объекту
Код: 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.
Private Sub Report_Open(Cancel As Integer)
' Открытие формы "Даты".
' Функция IsLoaded (из модуля  "Служебные функции" ) определяет,
' открыта ли конкретная форма.
    
    Dim strDocName As String
    Dim dtmPerem1 As Date
    Dim dtmPerem2 As Date
    strDocName = "Даты"
    ' Задание для общей переменной значения True, чтобы
    ' сообщить форме, что для отчета выполняется событие
    '  "Открытие"  (Open).
    blnOpening = True
    
    ' Открытие формы.
    DoCmd.OpenForm strDocName, , , , , acDialog
    dtmPerem1 = Forms![Даты]![НачальнаяДата]
    dtmPerem2 = Forms![Даты]![КонечнаяДата]
    
    ' Если форма не загружена, невозможен просмотр или печать отчета.
    ' (Пользователь нажал в форме кнопку "Отмена".)
    If IsLoaded(strDocName) = False Then Cancel = True
    Me![НачальнаяДата] = dtmPerem1
    Me![КонечнаяДата] = dtmPerem2
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening = False
    
End Sub

Может я что проморгал? Запара, какая однако...
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32338753
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
автор писал: dtmPerem1 = Forms![Даты]![НачальнаяДата]
dtmPerem2 = Forms![Даты]![КонечнаяДата]
Это должно исполняться ДО того, как форма закрывается. А именно - в модуле формы, например на OnClose.

Соответственно, описывать эти переменные надо не тут, а как глобальные (в отдельном модуле и со словом Public).
...
Рейтинг: 0 / 0
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
    #32341161
Просто Лось
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похожая ситуация у меня была. Я просто заменил поля в отчете на надиси, и даты вставлял в .caption
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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