Список и поле со списком
Список и поле со списком являются элементами управления формы. Объявляются они соответственно - ListBox и ComboBox.
Свойства списка и поля со списком как элементов управления
Свойство | Доступ | Возвращаемое значение | Описание |
ListCount | Только чтение | Integer | Определяет число строк в списке элемента управления. |
Listlndex | Только чтение | Integer | Определяет, какой элемент списка элемента управления выбран. |
Selected | Чтение и запись | Массив с нумерацией от нуля | Выбирает элемент или определяет, выбран ли элемент списка. (Только для элементов управления Listbox). |
Методы элементов управления ComboBox и ListBox
Метод | Описание |
DropDown | Принудительно раскрывает список. (Только для полей со списком). |
ItemData | Возвращает данные в связанном столбце указанной строки списка или поля со списком. Синтаксис вызова: элемент_управления.ItemDата(номер_строки), где элемент_ управления — ссылка на элемент управления, номер_ строки — строка, содержащая нужные данные, Нумерация строк начинается с нуля. |
Семейство ItemsSelected
В стандартном списке можно выбрать лишь один элемент; однако использование свойства MultiSelect (несвязное выделение) позволяет выбрать и несколько элементов. Текущая строка списка выделяется точечной пунктирной рамкой. Свойство MultiSelect может принимать следующие значения:
None (отсутствует) -Выделение одного элемента. Для выделения элемента в списке следует щелкнуть на нем или подвести к нему указатель элемента с помощью клавиш перемещения курсора. При выделении новой записи с предыдущей записи выделение автоматически снимается. После выбора строки единственный способ снять выделение заключается в том, чтобы выделить другую строку.
Simple (простой) -Выделение нескольких элементов путем выбора каждого элемента. Для выделения элемента следует щелкнуть на нужной строке. Выделение можно снять, щелкнув на выделенном элементе вторично.
Extended (со связанным выбором)- Выделение блока из нескольких элементов. После выбора первого элемента область выделения можно расширить тремя способами:
• Нажать левую кнопку мыши и, удерживая ее, протащить мышь до другой строки.
• Нажать клавишу Shift и, удерживая ее, щелкнуть на другой строке.
• Нажать клавишу Shift и, удерживая ее, нажать какую-либо клавишу перемещения курсора.
В каждом случае выделяется блок последовательных элементов от первого выделенного до текущего элемента. После выделения блока можно дополнительно выделить любой элемент списка (или снять выделение с любого выделенного элемента), щелкнув на нем мышью при нажатой клавише Ctrl.
При выделении нескольких элементов в списке Access создает семейство ItemsSelected. Каждый член этого семейства представляет собой целое число, обозначающее выделенную строку списка. Несмотря на то, что члены семейства ItemsSelected являются целочисленными - по умолчанию для них установлен тип Variant. У этого семейства нет методов и имеется только свойство Count, которое возвращает число выделенных элементов.
При работе со списком, допускающим множественный выбор, у строки может быть два индекса:
o индекс, обозначающий ее положение в списке;
o индекс (называемый также номером элемента), обозначающий ее положение в семействе ItemsSelected.
Значения обоих индексов отсчитываются от нуля. Для определения позиции строки в списке можно использовать свойство ListIndex списка. При выборе строки в списке с множественным выбором Access автоматически присваивает ей номер элемента. Так как нумерация в семействе ItemsSelected начинается с нуля, первый выбранный элемент обозначается ItemSelected(0), второй — ItemSelected(l) и т.д. Если первый выделенный
элемент — первая строка списка (с индексом равным 0), то ItemSelected(0) возвращает 0.
ListIndex ItemSelected
0 0
3 1
5 2
Если второй выделенный элемент — четвертая строка списка (с индексом равным 3), то ItemSelected(0) возвращает 3.
Как свойство Listlndex, так и семейство ItemsSelected возвращают порядковый номер строки в списке. Если нужно получить доступ к данным в этой строке, воспользуйтесь свойством Column или методом ItemData. Метод ItemData возвращает данные из присоединенного столбца в строке с указанным номером. С помощью свойства Column можно получить доступ к данным из определенного столбца в строке с указанным номером.
Пример
Создадим форму с элементами управления: список на основе таблицы «Клиент» (поля – Клиент, Адрес, Телефон, №счета). Вывести на печать значения столбцов выбранных строк.
Для того чтобы в списке можно было выбирать более одной строки, нужно установить значение Несвязное выделение – Простое.
Делается это следующим образом:
Свойства поля Список/Другие /Несвязанное выделение/Простой.
Форма и в ней список с выбранными значениями выглядит так:
По событию Нажатие кнопки пишем процедуру: