Взаимодействие с другими формами

 

Как вы узнали в главе 15, можно извлекать и задавать значения свойств полей и элементов управления на текущей форме или других открытых в данный момент формах. Хитрость заключается в том, что нужно явно указать программе Access, какую форму вы пытаетесь использовать.

Предположим, что вы хотите изменить цвет элемента управления Price (цена) на форме Product (товар) при щелчке мышью кнопки, находящейся на форме PriceChanger (преобразователь цен). Приведенный далее код не работает, поскольку Access ищет несуществующий элемент управления Price на форме PriceChanger:

Price.BackColor  =  vbRed

Следующий код отлично использует описанную хитрость и направляет программу Access к правильной форме:

Forms("Product").Price.BackColor = vbRed

Технически приведенный код заставляет программу Access заглянуть в коллекцию Forms (формы), отслеживающую все открытые в данный момент формы. (Если в настоящий момент форма Product не открыта, этот оператор даст сбой.) Он извлекает из коллекции форму Product, переходит к форме для доступа к элементу управления Price и затем углубляется в него для поиска свойства BackColor (Цвет фона).

Логически равноценную строку кода можно записать двумя способами. Программисты Access старого образца применяют причудливый синтаксис с восклицательными знаками, который выглядит следующим образом:

Forms!Product!Price!BackColor = vbRed

Программа Access интерпретирует обе строки одинаково. Это просто дело вкуса. Но вы должны знать оба варианта, на случай, если столкнетесь со странным кодом с восклицательными знаками.

Если вас огорчает, что этот подход приводит к ошибке в случае закрытой нужной формы, оба описанных метода не смогут выручить вас. В главе 17 вы узнаете, как открывать форму, когда захочется.

В табл. 16.1 перечислены некоторые свойства элементов управления, которые могут вам понадобиться в программном коде на языке Visual Basic.

 

Таблица 16.1. Полезные свойства элементов управления

Свойство

Тип данных

Описание

Value  (значение)

Зависит от конкретного элемента

Хранит значение элемента управления. Обычно все элементы связаны с полями, поэтому свойство Value позволяет считывать или изменять значение из текущей записи. В зависимости от типа данных поля свойство может быть текстовым, числовым, логическим и т. д.

Enabled  (включено или доступно)

True (истина) или False (ложь)

Определяет возможность корректировки значения элемента управления. Если задать в свойстве значение False, элемент управления блокируется и пользователь, работающий с формой, не сможет редактировать поле (несмотря на то, что ваш код может все еще пытаться изменять значение Value). Отключенные элементы управления выглядят не так, как включенные элементы управления — обычно у них подернутый серой пеленой "серый" внешний вид

Visible (видимый)

True  (истина) или False (ложь)

Определяет, может ли пользователь, работающий с формой, видеть элемент управления. Если у свойства значение False (ложь), элемент исчезает с формы. Это свойство — удобный способ скрыть неиспользуемые поля. Если клиент живет в Замбии, можно скрыть поле State (штат)

ForeColor (цвет текста) и BackColor (цвет фона)

Число

Определяет цвет для вывода текста (цвет текста) и цвет, отображаемый за текстом (цвет фона)

Left (слева) и Тор (сверху)

Число

Определяет местоположение элемента управления на форме. Свойство Left (слева) определяет расстояние от левого края формы до левого края элемента. Свойство Тор (сверху) задает расстояние от верхнего края формы до верхнего края элемента управления. Оба значения задаются в пикселах

Width (ширина) и Height (высота)

Число

Определяет размер элемента управления в пикселах

FontName (шрифт) и FontSize (размер шрифта)

Текстовая строка и число (соответственно)

Определяет шрифт, который применяется для отображения текста в элементе управления. FontName — это название гарнитуры шрифта (например, "Arial"), a FontSize — его размер в пунктах (например, 10)

FontBold (жирное начертание) и FontI-talic (курсив)

True (истина) или False  (ложь)

Определяет способ начертания текста (жирный или наклонный)

Picture* (рисунок)

Текстовая строка

Позволяет отображать фоновое изображение на части формы, на вкладке или кнопке. Вы задаете путь к файлу с рисунком

 

Таблица 16.1 (окончание)

Свойство

Тип данных

Описание

Text* (текст)

Текстовая строка

Задает текущий текст в текстовом поле. В большинстве случаев это свойство содержит те же данные, что и свойство Value. Но если кто-то редактирует текст и еще не перешел к другому элементу управления, содержимое этих двух свойств разное. Свойство Value содержит текст, хранящийся в таблице, а свойство Text — отредактированные данные, которые еще не применены

Caption* (подпись)

Текстовая строка

Задает текст подписи или кнопки или заголовок формы. Это свойство важно, когда создаются подписи, не связанные с полями таблицы. Элемент управления Подпись можно применять для отображения сообщения о состоянии или статусе

IternsSelected* (выбранные элементы)

Объект-коллекция

Представляет собой коллекцию, объект специального типа, содержащий ноль или больше подобъектов. Данная коллекция содержит значения всех выбранных в данный момент в списке элементов. Свойство ItemsSelected полезно, только если создан список, поддерживающий многочисленные выделения, В противном случае используйте свойство Value

* Это более специальные свойства и в большинстве элементов управления они не используются.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100