Как работает подчиненная форма

OlegIM
Дата: 08.09.2005 15:55:30
На главной форме создана подчиненная форма/отчет под именем Groups. На форме Groups создана еще одна подчиненная форма под именем SubGroups.
В VB пишу:
Me!Groups.Form.RecordSource = "" ' кушает нормально
Me!Groups!SubGroups.Form.RecordSource = "" ' выдает ошибку

Ошибка
Сообщение: Введенное выражение содержит недопустимую ссылку на свойство "Form/Report".

Me!Groups.Form!SubGroups.Form.RecordSource = "" 'выдает ту-же ошибку!

Это форама с табличкой с "+". По нажатию на "+" открывается подчиненная таблица. Удобно но из-за выше описанной ошибки RecordSource для SubGroups пришлось указать стационарно. Если подчиненную таблицу не открывать то все работает нормально, а если ее расскрыть то при попытке обновить форму выдается сообщение что таблица-источник занята.
OlegIM
Дата: 08.09.2005 15:57:54
Я создал новый db1.mdb.
Создал таблицу Т с двумя полями(поле1 и поле2)
Создал Форму F, на ней создал подчиненную форму F1, ну а на ней подчиненную F2. (Имена идентичные и в Access и контролов на форме). На форме F2 создал подчиненную F3.
Начал с ними играться и вот что получается:
Если Рефрешить форму (Работа с формой происходит OnRefresh) Сразу, не раскрывая вложеностей ("+") то проходит только
Me!F1.Form.RecordSource = ""
а на
Me!F1.Form!F2.Form.RecordSource = ""
выдает вышеописанную ошибку.
А вот если ее открыть перед РЕФРЕШЕМ то ошибка возникает на
Me!F1.Form!F2.Form!F3.Form.RecordSource = ""
Ну а если и на второй "+" (имеется ввиду влеженность) на жать то все три строки:
Me!F1.Form.RecordSource = ""
Me!F1.Form!F2.Form.RecordSource = ""
Me!F1.Form!F2.Form!F3.Form.RecordSource = ""
Проходят нормально и без ошибок.

Осталось только придумать как это сделать при открытии чтобы пользователь ничего не заметил.
OlegIM
Дата: 08.09.2005 16:08:53
Может кто знает как програмно раскыть "+" (открыть подчиненную форму)?
Помогите плиз
Пользователь2
Дата: 08.09.2005 16:42:15
OlegIM
Может кто знает как програмно раскыть "+" (открыть подчиненную форму)?


Для всех записей.
Me.F1.Form.SubdatasheetExpanded = True

Для конкретной записи, насколько я знаю, нельзя.
OlegIM
Дата: 08.09.2005 17:12:45
С пасибо Пользователь2.
Что-бы проходил и Me!F1.Form!F2.Form!F3.Form.RecordSource = ""
после : Me.F1.Form.SubdatasheetExpanded = True
нужно объявить еще и :
Me!F1.Form!F2.Form.SubdatasheetExpanded = True