Ссылки на объекты
Ссылки на объекты
Application. CurrentProject .AllForms ("Заказы клиента")
Таким образом, чтобы правильно создавать ссылки на объекты, нужно достаточно хорошо представлять себе место каждого объекта в иерархии объектов модели. Такие длинные ссылки особенно характерны для моделей, которые имеют многоуровневую, иерархическую структуру, например DАО. На самом деле, на практике чаще применяют не полные, а сокращенные ссылки. Дело в том, что наиболее часто используемые семейства, объекты, свойства и методы считаются глобальными. Ссылки на них хранятся в специальном объекте с именем Global. Для обращения к глобальному объекту можно пропустить объекты более высокого уровня.
Например, семейство Forms является глобальным. Для доступа к объекту этого семейства можно использовать сокращенную ссылку вида:
Forms ( "Заказы") вместо полной ссылки:
Application. Forms ( "Заказы")
Замечание
Узнать, какие объекты, свойства и методы являются глобальными, позволяет окно просмотра объектов. Чтобы отобразить список глобальных компонентов объектной модели, выберите элемент
<globals>
в списке
Classes
в окне просмотра объектов (см. разд. "Использование обозревателя объектов в редакторе VBA " данной главы).
Обычно имя семейства и имя объекта разделяются оператором "!" (восклицательный знак), например:
Forms ! Товары
Если имя объекта состоит из нескольких слов, разделенных пробелом, тогда вам придется написать
Forms![Заказы клиента]
Третий способ ссылки состоит в том, что на объект в семействе ссылаются не по названию, а по индексу, например:
Properties(0)
Такой способ применяется обычно тогда, когда имя объекта неизвестно. В то же время каждый объект в семействе имеет индекс (порядковый номер), который обычно начинается с нуля. Есть, правда, исключения из этого правила, например в семействе CommandBars модели Microsoft Office нумерация объектов начинается с, единицы. Поэтому перед использованием индексов лучше узнать о способе нумерации в справочной системе Access.
И наконец, последний способ ссылки на объект состоит в использовании вместо имени объекта строковой переменной, например:
Reports (strИмяОтчета)
Если какой-то объект содержит несколько семейств объектов более низкого уровня, то одно из этих семейств, обычно наиболее часто используемое, считается стандартным или семейством по умолчанию. Можно обращаться к объекту, входящему в это семейство, не указывая имени семейства. Например, для объекта TableDef модели DАО стандартным семейством считается Fields. Поэтому для обращения к столбцу таблицы можно использовать сокращенную ссылку
TableDefs!Должности!Код Должности вместо полной ссылки
TableDefs!Должности.Fields!КодЦолжности
Совет
Использование сокращенных ссылок в программах предпочтительнее еще и потому, что в этом случае программы будут выполняться быстрее.