Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / RecordSource подчиненного отчета / 20 сообщений из 20, страница 1 из 1
14.06.2004, 12:25
    #32560181
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
Windows XP
Office XP
Не удается задать RecordSource подчиненного отчета при событии Open основного отчета:
Код: plaintext
1.
2.
Private Sub Report_Open(Cancel As Integer)
	Me.subrpt.Report.RecordSource = "SELECT * FROM tbl"
End Sub

Код: plaintext
1.
Run-time error '2455'
Введенное выражение содержит недопустимую ссылку на свойство "Form/Report".
В хелпе, вроде, по этому поводу ничего не сказано.
...
Рейтинг: 0 / 0
14.06.2004, 12:29
    #32560189
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
Может, нельзя это делать в Report_Open родительского?
...
Рейтинг: 0 / 0
14.06.2004, 12:40
    #32560210
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
конечно нельзя - когда open родительского - подчиненный еще не загружен!!!
...
Рейтинг: 0 / 0
14.06.2004, 12:46
    #32560226
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
А по другим событиям, вообще , нельзя!
Значит такого свойства у подчиненного отчета нет!
...
Рейтинг: 0 / 0
14.06.2004, 12:47
    #32560228
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
В других событиях оно уже становится read-only.
Надо перенести этот код в Open подчиненного.
Me.RecordSource = "SELECT * FROM tbl"
...
Рейтинг: 0 / 0
14.06.2004, 12:51
    #32560234
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
Но это уже свойство не подчиненного отчета.
Да и бог бы с ним.
Но когда есть несколько клонов подчиненного отчета, то увы!
...
Рейтинг: 0 / 0
14.06.2004, 12:53
    #32560236
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
авторНо когда есть несколько клонов подчиненного отчета, то увы!

можно сравнивать hwnd для различия клонов - по крайней мере в формах работает
...
Рейтинг: 0 / 0
14.06.2004, 12:54
    #32560237
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
АлексейКконечно нельзя - когда open родительского - подчиненный еще не загружен!!!
А у форм это не так!
...
Рейтинг: 0 / 0
14.06.2004, 12:58
    #32560243
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
авторможно сравнивать hwnd для различия клонов - по крайней мере в формах работает
Нужно для каждо клона отчета задать свой источник. Как это можно сделать, используя этот совет?
...
Рейтинг: 0 / 0
14.06.2004, 13:03
    #32560244
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
1 определяем в какой контрол отчета загружен подотчет на основе hwnd
2 в зависимости от имени контрола назначаем источник
...
Рейтинг: 0 / 0
14.06.2004, 13:07
    #32560247
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
в форме это было так

Код: plaintext
1.
2.
3.
4.
5.
Private Sub Form_Load()
On Error Resume Next
If Me.Parent.p3.Form Is Me Then
    If Err.Number =  0  Then MsgBox "Загружена 3 подформа"
End If
End Sub

или так

Код: plaintext
1.
2.
3.
4.
5.
Private Sub Form_Load()
On Error Resume Next
If Me.Parent.p3.Form.hwnd = Me.hwnd Then
    If Err.Number =  0  Then MsgBox "Загружена 3 подформа"
End If
End Sub
...
Рейтинг: 0 / 0
14.06.2004, 13:08
    #32560250
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
АлексейК1 определяем в какой контрол отчета загружен подотчет на основе hwnd
2 в зависимости от имени контрола назначаем источник
Нельзя ли пример кода на событие Open родительского очета?
Для двух клонов подотчета.
...
Рейтинг: 0 / 0
14.06.2004, 13:10
    #32560253
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
на событие Open родительского очета нельзя так как подчиненные еще не загружены
...
Рейтинг: 0 / 0
14.06.2004, 13:20
    #32560262
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
Неправильно сформулировал вопрос.
Нужен код подотчета sub_rpt, с именами sub_rpt1, sub_rpt2 в родительском отчете parent_rpt. Источники tbl1, tbl2 соответственно.
...
Рейтинг: 0 / 0
14.06.2004, 13:24
    #32560269
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
Вот нечто похожее.
/topic/57838#409215
...
Рейтинг: 0 / 0
14.06.2004, 13:29
    #32560274
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
что то типа (не проверял):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Report_Open(cancel as integer)
On Error Resume Next

If Me.Parent.sub_rpt1.report Is Me Then
    If Err.Number =  0  Then me.recordsource = "select * from tbl1 "
End If

If Me.Parent.sub_rpt2.report Is Me Then
    If Err.Number =  0  Then me.recordsource = "select * from tbl2 "
End If


End Sub
...
Рейтинг: 0 / 0
14.06.2004, 14:08
    #32560314
Sergey_New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
2 АлексейК
Проверил. Работает. Спасибо!
...
Рейтинг: 0 / 0
14.06.2004, 14:19
    #32560327
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
надо же... работает... ??

Пожалуста ))
...
Рейтинг: 0 / 0
14.06.2004, 14:20
    #32560329
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
Мне кажется, что если сделано On Error Resume Next и потом проверяется If Err.Number = 0, то перед If Me.Parent.sub_rpt2.report Is Me надо добавить Err.Clear.
...
Рейтинг: 0 / 0
14.06.2004, 14:21
    #32560331
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource подчиненного отчета
точно
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / RecordSource подчиненного отчета / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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