Встроенные элементы управления
- Имя (Name) – название данного элемента управления. Нужно дать ему осмысленное название, т. к. оно используется во всех ссылках на этот элемент управления в выражениях, программах и макросах.
- Данные (Control Source) – название поля в таблице, которое будет содержать выбранное в списке значение.
- Следующие два свойства: Тип источника строк (Row Source Type) и Источник строк – (Row Source) определяют источник данных для элементов списка. В приведенном примере в качестве источника данных используется таблица "Типы" (Categories), поэтому в свойстве Тип источника строк (Row Source Type) выбрано значение Таблица или запрос (Table/Query), а в качестве значения свойства Источник строк (Row Source) указана инструкция SQL, которая выбирает нужные данные из таблицы (поля "КодТипа" и "Катерогия"):
SELECT
Типы.КодТипа, Типы.Категория
FROM
Типы;
Для английской версии Access:
SELECT
Categories.CategorylD, Categories.CategoryName
FROM
Categories;
Чтобы элементы в данном списке были отсортированы в алфавитном порядке по полю "Категория", в конец инструкции SQL нужно добавить предложение: ORDER BY Типы.Категория (ORDER BY Categories.CategoryName).
Замечание
Значением этого свойства может быть также название таблицы или запроса. Список, базирующийся на таблице или сохраненном запросе, будет работать быстрее, чем список, у которого источник строк задан в виде инструкции SQL.
- Свойство Число столбцов (Column Count) имеет значение 2, т. е. в списке будет два столбца (выбираются два поля), однако свойство Ширина столбцов (Column Width) определяет ширину первого столбца, равной 0, т. е. он не будет отображаться на экране.
- Несмотря на то, что первый столбец является скрытым, его тоже можно присоединить к полю таблицы, как и любой другой столбец списка, чтобы в выбранном элементе списка значение именно из этого столбца (в нашем примере – это значение поля "КодТипа") записывалось в базовую таблицу формы. Чаще всего именно первый столбец списка требуется присоединить к полю источника данных. Номер присоединенного столбца указывается в свойстве Присоединенный столбец (Bound Column).
- Свойство Заглавия столбцов (Column Heads) в нашем примере имеет значение Нет (No), поэтому они не будут отображаться в списке.
Кроме рассмотренного, существуют еще три типа источников строк для элемента управления Список (ListBox):
- Список значений. Если количество строк в списке невелико и постоянно, можно все значения задать прямо в окне свойств элемента. В этом случае в свойстве Тип источника строк выбирается значение Список значений (Value List), а значения элементов списка перечисляются через точку с запятой без пробелов в свойстве Источник строк. Например:
понедельник;
вторник;
среда;
четверг;
пятница;
суббота;
воскресенье
Если элементы списка содержат пробелы, включите их в кавычки. Чтобы все дни недели отобразились в одном столбце списка, установите значение свойства Число столбцов равным 1, а свойству Ширина столбцов присвойте любое ненулевое значение, например 2, 5см (2, 5cm).
Если нужно вывести два столбца значений, то в свойстве Источник строк в перечислении значений задаются последовательно пары значений, число столбцов устанавливается равным 2, а в свойстве Ширина столбцов задается пара значении, например 2, 5см; 3см (2, 5cm; 3cm).
- Список полей. Этот тип источника строк (значение Список полей (Filed List) свойства Тип источника строк) предназначен для вывода в списке имен полей таблицы или.запроса. Имя таблицы или запроса задается в свойстве Источник строк. Таким способом в списке можно отобразить имена полей таблиц, чтобы предоставить возможность их выбора.
- Определяемая пользователем функция. Наконец, источником строк для списка может быть функция, написанная на языке VBA, которая заполнит список значениями. В этом случае свойство Тип источника строк нужно установить, как это показано на рис. 9.16, т. е. указать имя функции без знака равенства (=) и без скобок, а свойство Источник строк должно остаться пустым. Использовать определяемую пользователем функцию полезно, когда требуется заполнить список вычисленными значениями или когда содержимое списка должно динамически меняться в зависимости от содержимого других элементов управления. В первом случае вычисления могут проводиться даже над данными, которых нет в базе (например, когда нужно вычислить определенные даты, начиная с текущей) Второй вариант окажется подходящим, например, если при выборе категории товаров в одном списке, в другом должен отображаться набор товаров именно этой категории.
Рис. 9.16. Использование функции в качестве источника строк