Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 26
Текст из файла (страница 26)
3.12).Формы и элементы управления обладают рядом специфичныхсвойств. Например, формы MS Access имеют оригинальное свойство Источник записей (RecordSource), которое определяет, записи какой таблицы или запроса отображаются в форме.В Access имеется две коллекции, в названии которых содержится слово Form (форма): коллекция Forms и коллекция AllForms.Эти коллекции имеют принципиальное различие: элементамипервой из них являются объекты Form, каждый из которых представляет собой открытую форму, а элементами второй — объектыAccessObject. Следовательно, для разных целей используют разные коллекции и содержащиеся в них объекты.Например, чтобы узнать, сколько всего форм содержится вбазе данных, можно воспользоваться свойством Count коллекцииAllForms, а для определения числа открытых в данный моментформ можно воспользоваться тем же свойством коллекции Forms.Аналогично можно поступить в случае, когда требуется узнать,открыта ли какая-либо форма в данный момент, т.
е. перебрать всеэлементы коллекции Forms (с помощью цикла For Each) иливоспользоваться свойством IsLoaded объекта AccessObject, являющегося элементом коллекции AllForms.Для работы с формой или элементом управления, которые вданный момент имеют фокус, удобно использовать объект Screen,т.е., используя свойства объекта Screen, можно сослаться на активную форму, отчет или элемент управления, которые в данныймомент имеют фокус.Получить доступ к элементу управления, который имеет фокус, позволяет свойство ActiveControl.Пример 3.8.
Присвоение подписи кнопке, которая имеет фокус:Dim ctlCurrControl AsControlSet ctlCurrControl == Screen.ActiveControlctlCurrControl.Caption == "Active Control"Рис. 3.12. Структура объектов,встроенных в объект Form134Использование свойства ActiveControl в случае, когда ниодин из элементов управленияне имеет фокуса, приведет кошибке.Свойство ActiveForm дает ссылку на объект Form, представляющий собой форму, которая в данный момент имеет фокус. Еслифокус имеет подчиненная форма, то данное свойство возвращаетссылку на главную форму.Пример 3.9. Задание подписи форме, которая имеет фокус:Dim frmCurrForm As FormSet frmCurrForm = Screen.ActiveFormfrmCurrForm.Caption = "Active Form"Коллекция Forms содержит все формы, открытые в данныймомент.
Чтобы сослаться на конкретную открытую форму, можноиспользовать ее имя или индекс в коллекции.Существуют четыре варианта синтаксиса ссылки на форму(табл. 3.7).Таким же образом можно ссылаться и на отчеты (естественно,используя вместо коллекции Forms коллекцию Reports).Объект Form ссылается на конкретную открытую форму. Каждый объект Form является членом коллекции Forms, в которойсодержатся все открытые формы.Формы имеют достаточно много свойств, поэтому рассмотретьвсе из них не представляется возможным. Для более подробногоознакомления со свойствами (и не только со свойствами) можновоспользоваться справочной системой MS Access.Для получения справки по тому или иному свойству достаточно перейти в режим конструктора форм, установить курсор в соответствующее поле и нажать клавишу [F1].Существуют свойства, которые можно изменять на этапе конструирования формы в окне свойств.
К некоторым свойствам доступ можно получить только программным способом. Приведенные в работе два варианта написания названий свойств (русскийи английский, указанный в скобках) свидетельствуют о том, чтоТ а б л и ц а 3.7Варианты синтаксиса ссылки на формуСинтаксисForms!3aKa3biОписаниеСсылка на форму Заказы с помощью оператора!Forms! [Заказыклиентов]Ссылка на форму Заказы клиентов.
Квадратные скобки используются в случае наличия вимени формы пробеловСсылка на элемент коллекции Forms по имениформыСсылка на элемент коллекции Forms по порядковому номеруForms(“3aKa3biклиентов”)Forms(l)135это свойство можно изменять как в программе VBA, так и в режиме конструктора формы. Значения этих свойств также имеют дваварианта написания: русское в конструкторе форм (в окне свойств)и оригинальное — в программах VBA (указано в скобках).Несмотря на то что формы имеют большое количество свойств,на практике обычно используется лишь незначительная их часть.В табл. 3.8 представлены свойства, определяющие внешний вид формы, а в табл.
3.9 — ряд наиболее часто применяемых свойств формы.Т а б л и ц а 3.8Свойства, определяющие внешний вид формыСвойствоОписаниеПодпись (Caption)Определяет название окна. Представляетсобой строковое выражение, содержащее неболее 2048 символовКнопка закрытияОпределяет, доступна ли кнопка закрытия(Close Button)окна формы: Да (Тпде) и Нет (False)Кнопка контекстнойОпределяет, доступна ли кнопка контекстсправки (WhatsThisButton) ной справки: Да (True) и Нет (False)Кнопка оконного менюОпределяет присутствие на форме кнопки,(ControlBox)вызывающей оконное меню: Да (True) иНет (False)Кнопки размеров окнаОпределяет, доступны ли кнопки управле(MinMaxBufton)ния окном [Свернуть] (Minimize) и [Развернуть] (Maximize):0 — Отсутствуют (None);1 — Свертывание (Min Enabled);2 — Развертывание (Max Enabled);3 — Все (Both Enabled)Модальное окно (Modal)Определяет, является ли окно модальным:Да (True) и Нет (False)Всплывающее окно (Popup) Определяет, открывается ли форма, каквсплывающее окно: Да (True) и Нет (False).Примером всплывающего окна может служить окно свойств, которое всегда находится поверх остальных окон приложения, даже если оно не является активнымМозаичное заполнениеОпределяет мозаичное заполнение фоно(PictureTiling)вым рисунком элемента управления илиокна формы: Да (True) и Нет (False).Выравнивание мозаики задается свойствомВыравнивание рисунка (PictureAlignment)Разделительные линииОпределяет вывод на экран линии, разде(DividingLines)ляющей области формы или записи: Да(True) и Нет (False)136Окончание табл.
3.8СвойствоРисунок (Picture)Тип границы (BorderStyle)Выравнивание рисунка(PictureAlignment)Тип рисунка (PictureType)Высота (Height)Ширина (Width)ОписаниеОпределяет рисунок, размещенный на форме или элементе управления. Значением данного свойства является строка, представляющая собой путь к файлуОпределяет тип границы окна формы путемустановки одного из следующих вариантов:0 — Отсутствует (None);1 — Тонкая (Thin);2 — Изменяемая (Sizable);3 — Окно диалога (Dialog).Все перечисленные варианты, кроме второго, не позволяют пользователю изменятьразмер окна формыОпределяет один из вариантов расположения фонового рисунка (или элемента управления Рисунок (Image)) на форме:0 — Сверху слева (Top Left);1 — Сверху справа (Top Right);2 — По центру (Center);3 — Снизу слева (Bottom Left);4 — Снизу справа (Bottom Right);5 — По центру формы (Form Center)Определяет тип рисунка: Внедренный (Embedded) или Связанный (Linked).
Внедренный рисунок является частью файла базыданных и не требует наличия на диске файла с изображением. Связанный рисунок требует наличия файла на диске, путь к которому определяет значение свойства Рисунок(Picture)Высота формыШирина формыТ а б л и ц а 3.9Свойства формыСвойствоРежим по умолчанию(DefaultView)ОписаниеОпределяет вид формы при открытии.
Значения данного свойства могут бытьследующими:0 — Простая форма (Single Form);1 —Ленточная форма (Continuous Forms);2 — Таблица (Datasheet)137Продолжение табл.3.9СвойствоОписаниеДопустимые режимы(ViewsAIlowed)Определяет возможность переключениямежду режимами формы и таблицы путемвыбора одного из значений;0 - Все (All);1 — Форма (Form);2 — Таблица (Table).Указанные варианты могут также бытьзаданы пользователем с помощью командВид\ Режим формы и Вид\Режим таблицыВвод данных (DataEntry)Определяет режим открытия формы,присоединенной к источнику данныхтолько для ввода данных. Если свойствоимеет значение Да (True), то при открытииформы выводится пустая запись, а в случаезначения Нет (False) — существующиезаписиВывод на экран (Visible)Определяет возможность отображенияформы на экране: Да (True) и Нет (False)Имя (Name)Определяют имя формы, которое используется для идентификации формы в программах VBA, макрокомандах и т.
д. Значение этого свойства не может быть задано вконструкторе форм, но может быть изменено в окне базы данных или в программеVBA (здесь имя формы задается строковымвыражением)Источник записей(RecordSource)Определяет источник данных формы: таблицу или запрос. В конструкторе формыможно задать значение этого свойства в окне свойств путем выбора из списка. В программе VBA значением данного свойстваявляется строковая переменная, содержащая имя таблицы, запроса или инструкциюSQLНаличие модуля(HasModule)Определяет наличие у данной формы модуля путем установки значений: Да (True) иНет (False)Область выделения(RecordSelectors)Задает возможность вывода на экран области выделения путем присвоения значенийДа (True) и Нет (False)Панель инструментов(Toolbar)Определяет панель инструментов, котораябудет выводиться при открытии формы или138Продолжение табл.