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 = ""
Проходят нормально и без ошибок.
Осталось только придумать как это сделать при открытии чтобы пользователь ничего не заметил.