Błąd wykonania programu Microsoft Access 2455 podczas próby uzyskania dostępu do formularzy wnuków z formularza podrzędnego

Mam trzy formy w bazie danych Access 2003 (rozwijającej się w programie Access 2007), które znajdują się w relacji rodzic -> dziecko -> wnuk. W podformacji „Form_Load” formularza podrzędnego ustawiam niektóre właściwości wnuka (tworząc nagłówek, źródło wiersza i logikę sterowania). Kiedy przeglądam formularz podrzędny, wszystko działa prawidłowo. Gdy przeglądam formularz nadrzędny, pojawia się błąd:

Błąd czasu wykonywania „2455”: Wprowadzono wyrażenie, które ma nieprawidłowe odwołanie do właściwości Formularz / raport.

w odniesieniu do linii:

<code>Me.GrandchildFormName.Form.Foo.Caption = "bar"
</code>

Mogę uzyskać dostęp do każdej właściwości wnukaz wyjątkiem właściwość Formularz bez wyrzucania błędów. Czy ktoś wie, co może to powodować? Zrobiłem przypadek testowy w nowej bazie danych i działał on dobrze, więc skłaniam się ku temu, aby istniało coś w starszym kodzie, który odziedziczyłem po bazie danych (co, jak mi powiedziano, sięga 18 lat do wstępnego dostępu system bazy danych), który powoduje problem, ale pomyślałem, że sprawdzę tutaj, czy któryś z was może znać obejście.

Jeśli jest to istotne, rzeczywista struktura formularzy jest nieco bardziej skomplikowana, ponieważ formularz wnuka pojawia się wiele razy (pod różnymi nazwami kontrolnymi) w formularzu potomnym, tak jak poniżej:

<code>|--------------|
| A            |
|  |----------||
|  | B        ||
|  |  |------|||
|  |  | C[1] |||
|  |  |------|||
|  |          ||
|  |  |------|||
|  |  | C[2] |||
|  |  |------|||
|  |----------||
|--------------|
</code>

Wyeliminowanie wszystkich formularzy wnuków z wyjątkiem jednej nie rozwiązuje problemu.

Mógłbym prawdopodobnie napisać kod, aby obejść ten problem, gdyby istniał sposób, aby formularz wnuka wiedział, które z instancji jest ładowany jako, ale o ile mi wiadomo, nie jest to możliwe.

questionAnswers(2)

yourAnswerToTheQuestion