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