Access 2002

Объединение списка и текстового поля


Объединение списка и текстового поля имеет серьезные недостатки. Так как каждый раз при изменении значения текстового поля программа Access должна выполнять просмотр внешнего источника данных, реакция приложения на ввод данных в это поле может существенно замедлиться. Однако если связать список с таблицей и гарантировать использование индекса для поиска данных, скорость работы Access окажется вполне приемлемой даже при больших объемах списков.

Наш пример можно применять и в других приложениях. Его работа основана на использовании созданного нами класса Inc remental Search (модуль которого вы найдете в базе данных CH06.MDB). Поскольку мы включили в пример код для работы с объектами как DAO, так и ADO, он выглядит сложнее, чем есть на самом деле. Убрав дублирующийся код, вы увидите, что оставшаяся часть невелика. В  6.5 перечислены свойства нашего класса. (Общедоступных методов у него нет.)

Для использования класса Incremental Search вам нужно создать его экземпляр, а также установить его свойства, как  6.12 (из модуля формы frmTestlncSrch).

Вот и все, что нужно для использования класса IncrementalSearch. После выполнения этого кода и ввода данных в текстовое поле, указанное в свойстве TextBox, код класса IncrementalSearch будет автоматически находить и выделять в списке введенное значение.

Как же это происходит? Выходит, что установки нескольких свойств объекта достаточно для того, чтобы он реагировал на событие текстового поля Change, которое было бы естественным перехватывать для выполнения поиска. Данной технологией мы еще не раз воспользуемся и в этой главе, и в следующих, поэтому давайте познакомимся с ней подробнее.

Комментарии закрыты