При программировании задач на языке макросов для обработки данных необходимо ссылаться на объекты Access, элементы управления и их свойства, чтобы оперировать значениями полей, элементов управления или свойствами. Это ссылки на такие объекты, как таблицы, формы, отчеты и их элементы и свойства.
Ссылки на объекты. Ссылаться на объекты можно по имени, но нужно учесть, что в Access объекты объединяются в семейства. Таблицы объединены в семейство Таблицы (Tables), формы – в семейство Формы (Forms), отчеты – в семейство Отчеты (Reports). Поэтому ссылка на объект включает имя семейства и отделенное от него восклицательным знаком имя объекта. Если имя включает пробелы или специальные символы, его следует заключить в квадратные скобки. Например, для ссылки на форму надо записать: Forms![СТУДЕНТЫ].
Ссылки на свойство объекта. В ссылке на свойство объекта вслед за именем объекта через точку записывается имя свойства. Перечень свойств формы или отчета можно посмотреть, открыв объект в режиме конструктора и вызвав окно его свойств. Многие свойства названы несколькими словами с пробелами между ними. Истинное имя свойства таких пробелов не имеет, поэтому в ссылках оно записывается без них. Например, имя свойства «Область выделения» (Record Selectors) должно записываться «ОбластьВыделения» (RecordSelectors). Для ссылки на свойство формы надо записывать:
Forms![СТУДЕНТЫ].RecordSelectors
В русифицированной версии Access в строках окна свойств указаны русские имена свойств. При вводе выражений в аргументах макрокоманд следует использовать английские имена функций и свойств.
Ссылки на элемент управления и его свойство. В ссылке на элемент управления вслед за именем объекта через восклицательный знак записывается имя элемента управления, заключенное в квадратные скобки.
Чтобы сослаться на свойство элемента управления, следует дополнить ссылку на элемент управления через точку именем свойства. Перечень свойств элемента управления можно посмотреть, открыв объект в режиме конструктора, выбрав этот элемент и вызвав окно его свойств. Различные типы элементов управления имеют различные свойства.
Например, в форме Студенты ссылку на элемент управления Надпись (Caption) с именем «ФИО Надпись» надо записать
Forms![Студенты]![ФИО Надпись]
Имя элемента управления записывается в его свойстве, которое можно видеть в окне свойств на вкладке Другие в строке Имя. В форме Студенты для элемента управления Надписьс именем «ФИО Надпись» отображается его значение «Фамилия студента».
В ссылке на свойство с именем ВыводНаЭкран, которое соответствует строке Вывод на экран(Visible) на вкладке Макет, надо использовать английский вариант этого имени Visible:
Forms![СТУДЕНТЫ]![ФИОНадпись].Visible
Ссылка на подчиненную форму или отчет. Ссылка на подчиненную форму (или отчет) записывается как ссылка на элемент управления формы (отчета), включающей данную форму (отчет). Форма после внедрения в другую форму содержится в элементе управления Подчиненная форма, отчет – в элементе управления Подчиненный отчет. Элемент управления Подчиненная форма/отчетимеет специальное свойство Форма или, соответственно, Отчет. Это свойство позволяет ссылаться на элемент управления подчиненных объектов и их свойств. Таким образом, полная ссылка на свойство элемента управления в подчиненной форме имеет в общем виде следующую структуру:
Forms![Имя формы]![Элемент Подчиненная форма].Form![Элемент подчиненной формы].Имя свойства
При ссылках на элемент управления в подчиненной форме или подчиненном отчете не обязательно использовать полный идентификатор формы или отчета с указанием свойств Форма или Отчет.
Например, следующий идентификатор определяет ссылку на элемент управления – поле АДРЕС в подчиненной форме Студенты, встроенной в форму Группы:
Forms![Группы]![Студенты]![АДРЕС]
При ссылках на элемент управления в текущей форме или отчете нет необходимости указывать идентификатор формы или отчета.
Создание ссылок построителем выражений. Ссылки на объекты, элементы управления и свойства удобно создавать с помощью построителя выражений.
Чтобы вызвать построителя выражений, надо выбрать в окне макроса строку аргумента макрокоманды, в которую требуется ввести выражение и нажать появившуюся кнопку построителя. В открывшемся окне Построитель выраженийнадо ввести или вставить элементы выражения в поле записи выражений.
Для того, чтобы вставить ссылку в поле записи выражений, выделяют в нижней половине окна построителя элементы, определяющие эту ссылку, и дважды нажимают кнопку мыши или нажимают кнопку Вставить.
В левом поле в нижней половине окна построителя надо раскрыть двойным нажатием кнопки мыши папку, содержащую объекты или элементы нужного типа (папку – запросы, формы, таблицы и т.д.). Затем выбрать папку необходимого объекта (конкретный запрос, форму, таблицу и т.д.). В среднем поле выбрать нужный элемент (например, конкретное поле), а в правом отметить Значение (Value), если формируется ссылка на элемент, или нужное свойство, если формируется ссылка на свойство. Для вставки ссылки в поле выражений надо дважды нажать кнопку мыши или нажать кнопку Вставить.
Access скопирует созданное выражение в ту строку, из которой был вызван построитель выражений. Если в данной строке уже содержится выражение, то оно будет заменено на новое. Если строка аргумента, из которой вызывается построитель выражений, уже содержит выражение, то оно автоматически копируется в поле выражений, где может быть отредактировано.
Если нужный объект или свойство не появляются в нижней части окна построителя выражений, это означает, что их нельзя использовать в том контексте, в котором был вызван построитель выражений.