Хотелось бы организовать поиск в ComboBox не только по первым буквам, к примеру по аналогии с тем как это решено на сайте у ув. EducatedFool может у когото есть готовые наработки в закромах, либо кто-то готов поделиться своими идеями по реализации данного функционала.
И "в закромах", "кто-то", "реализации"
Хотелось бы организовать поиск в ComboBox не только по первым буквам, к примеру по аналогии с тем как это решено на сайте у ув. EducatedFool может у когото есть готовые наработки в закромах, либо кто-то готов поделиться своими идеями по реализации данного функционала.
KuklP, AndreTM, Да виноват, нашалил с орфографией, уже исправил.
Цитата
Poltava, а чем та надстройка от Nerv не подошла? Или нужен только функционал "поиска по буквам", без всего остального?
Надстройка интересна, но требует определенных правил при ее использовании, что не совсем совпадает с концепцией файла, в котором она будет применяться. Так как надстройка закрыта и код подсмотреть нельзя приходиться изобретать велосипед заново.
Цитата
Вариант на базе Filter Property (ADO)
Сейчас посмотрим.
KuklP, AndreTM, Да виноват, нашалил с орфографией, уже исправил.
Цитата
Poltava, а чем та надстройка от Nerv не подошла? Или нужен только функционал "поиска по буквам", без всего остального?
Надстройка интересна, но требует определенных правил при ее использовании, что не совсем совпадает с концепцией файла, в котором она будет применяться. Так как надстройка закрыта и код подсмотреть нельзя приходиться изобретать велосипед заново.
Андрей, спасибо за пример, попаразитировал на нем Вариант без тяжелой артиллерии: [vba]
Код
Private Sub cmbStrat_Change() Dim a cmbStrat.List = [ComboData].Value a = Application.Transpose(cmbStrat.List) If cmbStrat.Value = "" Then cmbStrat.List = [ComboData].Value Else a = Filter(a, cmbStrat.Value, True, vbTextCompare) cmbStrat.List = a End If End Sub
Private Sub cmbStrat_GotFocus() cmbStrat.List = [ComboData].Value End Sub
[/vba]
Андрей, спасибо за пример, попаразитировал на нем Вариант без тяжелой артиллерии: [vba]
Код
Private Sub cmbStrat_Change() Dim a cmbStrat.List = [ComboData].Value a = Application.Transpose(cmbStrat.List) If cmbStrat.Value = "" Then cmbStrat.List = [ComboData].Value Else a = Filter(a, cmbStrat.Value, True, vbTextCompare) cmbStrat.List = a End If End Sub
Private Sub cmbStrat_GotFocus() cmbStrat.List = [ComboData].Value End Sub
Сергей, да я не спорю, так вариант. Ваш, думаю, лучше. Мой "допиливать" нужно, так как есть ограничения на использование *, да и особенности с "утечкой" памяти (упомянутой как-то Владимиром (ZVI)) могут сказаться.
Сергей, да я не спорю, так вариант. Ваш, думаю, лучше. Мой "допиливать" нужно, так как есть ограничения на использование *, да и особенности с "утечкой" памяти (упомянутой как-то Владимиром (ZVI)) могут сказаться.anvg
Сообщение отредактировал anvg - Пятница, 20.12.2013, 10:53