Добавление данных в список
Добавление данных в список
В главе 6 мы рассматривали использование объектов типа ListBox (Список), которые значительно облегчают ввод данных в поля, одновременно избавляя от дополнительных ошибок, которые могут возникнуть при вводе. Список может формироваться из значений, содержащихся в поле таблицы, массива, запроса и т. п. В этой главе рассмотрим создание списка, значения которого вводятся в интерактивном режиме пользователем с использованием дополнительного поля ввода.
Создание списка рассмотрим на примере редактирования поля, содержащего город, для таблицы Customer. Для создания формы:
- Откройте форму для ввода списка клиентов в окне конструктора форм.
- Нажмите кнопку List Box (Список) на панели инструментов Form Controls (Элементы управления формы).
- Установите указатель мыши на место предполагаемого расположения поля и, удерживая кнопку мыши в нажатом состоянии, переместите курсор по диагонали так, чтобы получилась рамка требуемого размера для поля списка.
- Откройте окно свойств для размещенного в форме списка.
- Скорректируйте свойство Name (Имя) созданного объекта, присвоив ему имя IstCity.
- Чтобы связать созданное поле с полем таблицы customer, выберите свойство controisource (Источник данных). В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из списка всех полей открытой таблицы Customer выберите поле ccity.
- Скорректируйте свойство RowSourceType (Тип источника данных), которое указывает тип источника данных. Выберите из списка значение Value (Значение), поскольку список городов будет формироваться с помощью вводимых значений.
- Используя кнопку Text Box (Поле ввода) на панели инструментов Form Controls (Элементы управления формы), создайте под списком поле редактирования.
- Скорректируйте свойство Name (Имя) поля редактирования, присвоив ему имя txtAddText.
- Используя окно процедур свойства Keypress (Нажатие клавиши), введите в нем следующие команды:
LPARAMETERS nKeyCode, nShiftCtrlAlt
IF nKeyCode = 13 && 13 код клавиши <Enter>
IF 1EMPTY(THIS,Value)
* добавляем значение в список
THISFORM.lstCity.Addltem (THIS.Value}
ENDIF
* очищаем поле ввода
THIS.Value = ""
ENDIF
Эта процедура позволит пользователю ввести текст в поле ввода и нажатием клавиши <Enter> добавить значение в список, освободив окно для ввода следующей информации (рис. 15.26).