Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода? / 18 сообщений из 18, страница 1 из 1
28.11.2003, 20:55
    #32338288
Rimbombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
...
Рейтинг: 0 / 0
29.11.2003, 13:47
    #32338430
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
контрол такой-то = контрол такой-то
...
Рейтинг: 0 / 0
30.11.2003, 13:45
    #32338674
Rimbombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
2 Владимир Саныч
Это первое что я сделал. Имя контролов в форме НачальнаяДата и КонечнаяДата, имена контролов в отчете аналогичные. При запуске отчета, открвывается форма(!), куда вводятся даты, нажимается ОК - форма закрывается и открывается отчет с отобранными записями (все как в Борее с продажами по годам). Проблема в том, что в самом отчете требуется явно указать тот период, что был введен через форму! So, если в свободных контролах отчета писать в имени НачальнаяДата и КонечнаДата то период в них не вписывается, а если указать в данных =НачальнаяДата и =КонечнаяДата, то после закрытия формы (и перед открытием отчета соот.) запускаются окна для ввода этих дат, - повторно требуется даты вводить! И какой прок тогда от этой формы? Вопрос в том и состоит: как это обойти?
...
Рейтинг: 0 / 0
30.11.2003, 13:50
    #32338677
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
автор писал:писать в имени НачальнаяДата и КонечнаДата
Что значит в имени? .Name, что ли? Не надо никакого .Name!
...
Рейтинг: 0 / 0
30.11.2003, 13:56
    #32338680
Rimbombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
нет. вы не так поняли. в конструкторе отчета создаю 2 свободных поля, перехожу в их свойства через контекстное меню выбираю вкладку "Все", там есть строки "Имя" и "Данные". Вот это Имя я имел в виду
...
Рейтинг: 0 / 0
30.11.2003, 14:14
    #32338682
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
Все не так. :^)

Конструктор ни при чем. То, что я советовал (контрол такой-то = контрол такой-то), нужно написать в OnOpen отчета.
...
Рейтинг: 0 / 0
30.11.2003, 14:15
    #32338683
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
Но ведь можно же не закрывать форму до открытия отчета?
Или передать даты через переменные. Или включить их в запрос.
...
Рейтинг: 0 / 0
30.11.2003, 14:24
    #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
30.11.2003, 14:32
    #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
30.11.2003, 14:44
    #32338693
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
автор писал: Forms![Даты]![НачальнаяДата] = Reports![РайоныДата]![НачальнаяДата]
Forms![Даты]![КонечнаяДата] = Reports![РайоныДата]![КонечнаяДата]
Наоборот! Нам же надо перенести из формы в отчет.
...
Рейтинг: 0 / 0
30.11.2003, 14:46
    #32338694
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
А. Сорри. Форма же уже закрыта... Значит, так:

описываем две глобальных переменных,
в форме перед закрытием заносим значения в них,
в отчете берем не из формы, а из переменных.
...
Рейтинг: 0 / 0
30.11.2003, 15:19
    #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
30.11.2003, 15:30
    #32338717
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
Во-первых, надо заносить в переменную не строку "НачальнаяДата", а дату с формы. Во-вторых, надо это делать до того, как форма закрылась.
...
Рейтинг: 0 / 0
30.11.2003, 16:23
    #32338744
Rimbombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
2 Владимир Саныч
С переменной я все понял - поставил даты из формы. как говорится до успеха только шаг, но вот на эту строку:
Код: plaintext
1.
Reports![РайоныДата]![НачальнаяДата] = dtmPerem1
    Reports![РайоныДата]![КонечнаяДата] = dtmPerem2
пишет невозможно присвоить значение объекту, менял местами не помогает, в хелпе ответа не нашел! Что здесь неправильно в синтаксисе?
...
Рейтинг: 0 / 0
30.11.2003, 16:42
    #32338748
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
Это должно стоять в OnOpen отчета. И тогда можно писать так:

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

Если не получится, значит я тоже чего-то не знаю.
...
Рейтинг: 0 / 0
30.11.2003, 16:49
    #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
30.11.2003, 16:51
    #32338753
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто-н знает как подставить даты в свободные контролы в отчете, введенные через фому ввода?
автор писал: dtmPerem1 = Forms![Даты]![НачальнаяДата]
dtmPerem2 = Forms![Даты]![КонечнаяДата]
Это должно исполняться ДО того, как форма закрывается. А именно - в модуле формы, например на OnClose.

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


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