Access 2002

Ссылка на frmSubl


Пусть, например, в форме frmMain имеется элемент управления Subform с именем f rmSubl. Чтобы извлечь значение из поля txtName подчиненной формы, можно использовать следующий оператор. varName – FormsCfrnWain”).Controls("frmSubl").

Form.Controls("txtName")

Ссылка на frmSubl — это ссылка на элемент управления Subform. Его свойство Form возвращает ссылку на объект этой формы, содержащий все ее элементы управления.

Если одна подчиненная форма вложена в другую, обращение к элементам управления самой внутренней из форм выполняется по той же схеме. Например, значение флажка chkAlive в подчиненной форме второго уровня frmSub2 можно узнать так:

fAlive – Forms("frmMain”).Controls("frmSubl").

Form.Cont rols("frmSub2").Form.Cont rols("chkA11ve")

К счастью, обе цепочки ссылок на элементы управления подчиненных форм можно сократить. Во-первых, коллекция Controls является свойством объекта Form, используемым по умолчанию. Во-вторых, свойство Form элемента управления Subform также используется по умолчанию. В результате ссылки на Control s и Form можно опустить, и предыдущее обращение примет такую форму: fAlive – Forms("fmWain")("frmSubl")("frmSub2")("chkAlive")

Да, все верно: если вы сражались со ссылками на подчиненные формы в Access 2, то, наконец, можете забыть все усвоенное на суровом опыте. Ссылки на Controls и Form больше не нужны.

И еще одно дополнение: ссылка на элемент управления в подчиненной форме может быть еще короче, что зависит от того, где она используется. Если вы хотите получить значение из формы frmSub2 как часть выражения, которое присваиваете свойству DataSource текстового поля в форме frmSubl, достаточно такой ссылки: frmSub2("chkAli ve”)

Выражение содержится в форме frmSub2, а в ней непосредственно доступны все ее элементы управления, в том числе frmSub2.

Комментарии закрыты