Это хорошая шпаргалка на русском языке - http://www.sql.ru/faq/faq_topic.aspx?fid=156 Я хотел бы перевести несколько пунктов:
- Основной синтаксис это:
Forms![Form1].Controls![Field1].Value
Упомяните, что "."а также "!"идет один за другим, переключается.
Можно сделать так:
Forms![Form1]![Field1]
Но не должно быть одинаковых именованных объектов разных коллекций.
Адресация подчиненной формы Для правильной ссылки на свойство подчиненной формы или подотчета необходимо указать полный идентификатор формы, используя свойство формы элемента управления:
Forms![Form1].Controls![Form2].Form.Controls![Field1].Value
В этом случае:
Forms![Form1].Controls![Form2]
является ссылкой на элемент управления , где отображается подчиненная форма. Forms![Form1].Controls![Form2].Form
- это ссылка на подчиненную форму.Свойство адресации Form
требуется для MS Access 97 и необязательно для следующих версий.
Как описано, создается адресация для подчиненных форм 3-го и более уровней:
.Controls![Form2].Form
(или .Controls("Form2").Form
)
Для
адресации объекта в текущем контексте Рекомендуется использовать следующий синтаксис:
Me.Controls![Field1].Value
NB
: имя элемента управления, который содержит форму, может отличаться от имени формы.Это можно проверить, изучив .Name
свойство элемента управления.
Поэтому, используя эти инструкции, ваш код должен быть следующим (см. 2-ю рекомендацию):
Forms![Form1].Controls![Form2].Form.Controls![Field1].Value
в этом случае
Forms![frmNavigation].Controls![NavigationSubform].Form.Controls![frmOrderList].Form.Requery
И это будет работать, только если только имена ваших элементов управления совпадают с именами формы, в противном случае вы должны исправитьимена управляющих имен в квадратных скобках.