|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Всем привет. Столкнулся с неожиданной проблемой. То ли это глюк Access, то ли я что то не так делаю. Суть в следующем: В табличной форме товар выбирается из справочника. По мере ввода данных происходит "фильтрация" списка. В ленточной форме это работало на отлично, но появилась необходимость перевести это в табличный режим. Казалось бы все просто. Поменял формат и все готово. Не тут то было... Если в поле ввести ошибочно символ и удалить его, то combobox категорически не хочет обновляться. Для наглядности прикрепил образец. Может дело в моей версии Access. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 23:30 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Шаман, Работа поляСоСписком мне представляется так: -щелчок на кнопке со стрелкой открывает список -выбираем значение в списке и оно заносится в поле -если заполнять поле с клавиатуры раскроется список с выделенным значением, соответствующим введенному символам (а если отсортировать источник по наименованию,то я не вижу какой-либо необходимости в "фильтрации" списка) Я бы решал задачу так (ввод данных очень прост) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 11:42 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
вдогонку:вернее не раскроется,а его нужно раскрыть (или использовать drop на изменении поля) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 11:45 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
sdku, Вся фишка именно фильтре. Справочник может иметь до 5 тыс. наименований и не факт, что наименование товара имеет четкую структуру написания. Кто то введет сиг. БОНД, а другой сигареты БОНД. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 12:22 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Шаманsdku, Кто то введет сиг. БОНД, а другой сигареты БОНД.Combo и существует для того чтобы этого не допустить.Вы же пытаетесь "обдурить" полеСоСписком работа которого очень неплохо продумана создателями ACCESS-покопайте в сторону добавления в справочник новых значений (событие NotInList) с проверкой уже существующих и вновь вводимых на подобие (может не надо вводить новое наименование) Посмотрите это 21852922 -там есть много полезностей по работе с Combo ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 12:59 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
ШаманВся фишка именно фильтре. Справочник может иметь до 5 тыс. наименований и не факт, что наименование товара имеет четкую структуру написания. Кто то введет сиг. БОНД, а другой сигареты БОНД. я отказался от комбо, у меня обычное поле для фильтра, а в запросах условие типа Like "*" & [Поле1] & "*" - очень удобно и просто, пользователь может указать сиг*бонд и найдется и так и эдак... - после каждого символа я тоже не фильтрую, у меня есть справочники где и 20 000 и 80 000 позиций и в этом случае это будет трэш... - юзер нажимает после ввода Enter и тогда всё подходящее выдается в список, после выбора в списке я получаю в столбцах все что нужно и ключ и штри-код и наименование и цены... Еще можно в запросе сформировать составное поле типа полного наименования - Артикул + наименование + штрихкод и фильтр поставить именно на него, тогда по барабану что ишет юзер: это может быть последние 4-5 символов штрихкода, часть артикула и часть наименования, весь артикул и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 13:26 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
ну да, в предварительный список отбора может попасть пару тройку лишних позиций товара, конкретный товар опять же выбирает юзер (как бы два шага при выборе - грубый поиск + выбор конкретной позиции) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 13:31 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
vmagя отказался от комбо, у меня обычное поле для фильтра, а в запросах условие типа Like "*" & [Поле1] & "*" - очень удобно и просто, пользователь может указать сиг*бонд и найдется и так и эдак... - после каждого символа я тоже не фильтрую, у меня есть справочники где и 20 000 и 80 000 позиций и в этом случае это будет трэш... я действую аналогично причем если точно знаю порядок слов, то применяю звездочку алм*круг найдет алмазные круги, но не найдет круги алмазные поэтому ввела вариант с пробелом (алм круг) --формируется 2 условия алм*круг и круг*алм или через и , типа naim like "*круг*" and naim like "*алм*" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 14:00 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
vmag, В принципе поиск у меня такой же. Только я задваиваю наименование Артикул + наименование + наименование + штрихкод Тогда Вино сухое можно искать как вин*сух так и сух*вин. По поводу обработки события после каждой буквы согласен, при большом объеме это будет жестко. Перенес событие поиска и фильтра с изменения на отсутствие в списке и добавил игнор ошибки. Теперь после набора жму интер и получаю все совпадения. СПАСИБО!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 14:13 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
ШаманТогда Вино сухое можно искать как вин*сух так и сух*вин. но могут быть варианты при большом количестве наименований когда под критерий отбора попадут товары совсем не те что надо-и запрос или отчет выдаст неверный результат (может разбить на группы) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 14:37 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
sdku, Использование нескольких * существенно сужает список совпадений. Для поиска Напиток ароматизированный, изготовленный на основе пива, пастеризованный "Сет энд Райлис Гараж Хард Лимон" достаточно ввести пивн*гар*лим или лимон*гараж и с вероятностью 99% найдется то что нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 15:13 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Шаман, Прикольно выкрутился... И комбо отрабатывает, если из списка, и как текстовое поле работает если не из списка, и фишка с дублем наименования зачётная ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 15:30 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Шамандостаточно ввести пивн*гар*лим или лимон*гараж и с вероятностью 99% найдется то что нужно.А 1%,который остался вылезет,по закону подлости,в самый ненужный момент,когда база будет наполнена большим количеством информации и ошибку искать будет ооочень трудно.А впрочем хозяин-барин - делайте как Вам нравится ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 17:13 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
sdkuА 1%,который остался вылезет,по закону подлости,в самый ненужный момент,когда база будет наполнена большим количеством информации и ошибку искать будет ооочень трудно.А впрочем хозяин-барин - делайте как Вам нравитсяТут ошибок быть не может. Наоборот, получился шикарный функционал. Попробуйте сами. Ищем водку Водка "Русь матушка премиум" 0,7 л: вбиваем рус*мат*7 , жмем Enter и получаем желаемое. Уж из 2 позиций пользователь сможет выбрать нужное. Так же, можно делать подбор по мере фильтрации. Например надо найти пиво Балтика №7 производитель Самара объем 1,35л Набирали пив*балт и нажали Enter. Выпал довольно большой список. Уточняем запрос *7. Список уменьшился. Добавляем производителя *самар и добиваем литражом *1. В результате получаем всего две строки. Ну и в заключении ищем батончик Кит-Кат: кит*кат Достигнуть такого результата стандартным полем со списком Access просто нереально. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 18:19 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Небольшое дополнение для обновления списка товаров после неудачного поиска Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 21:00 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Впечатляет,однако... ШаманНебольшое дополнение для обновления списка товаров после неудачного поиска Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 21:53 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
sdku, Экспериментировал ;) Результат показал что вполне достаточно дубля наименования. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 22:14 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Шаман, Я не о количестве дублей,а об этом: Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 00:08 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
sdku, А, так это просто пример. В реале все разделено пробелами. Кстати анекдот напомнил Звонок на радио: - Здравствуйте…вы не могли бы поставить мне и моей девушке песню Меладзе про Стошу Говнозада…? - А что это за песня? - Да вот эту «Сто шагов назад…. тихо на пальцах…» ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 00:19 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
всё уже давно придумано 200373 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 09:46 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
ШаманИщем водку Водка "Русь матушка премиум" 0,7 л: вбиваем рус*мат*7 , жмем Enter Звездочку вбивать сложнее, поэтому я в поисковой строке заменяю пробелы на звездочки автоматически, а пользователю долстаточно ввести "рус мат 7" для получения результата, народ доволен. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 09:50 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
MrShinЗвездочку вбивать сложнее, поэтому я в поисковой строке заменяю пробелы на звездочки автоматически, а пользователю долстаточно ввести "рус мат 7" для получения результата, народ доволен. надо знать последовательность фрагментов... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 09:54 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
вадявсё уже давно придумано 200373 Но пример из данной темы намного проще Вашего, а двойное-тройное повторение наименования в запросе поиска позволяет не задумываться о последовательности фрагментов. MrShin, Пробел вместо звездочек реально удобнее. Спасибо за совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 11:26 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
Шаманвадявсё уже давно придумано 200373 Но пример из данной темы намного проще Вашего, а двойное-тройное повторение наименования в запросе поиска позволяет не задумываться о последовательности фрагментов. MrShin, Пробел вместо звездочек реально удобнее. Спасибо за совет.мой вариант проверенаре временем, разными субд.и ЯП ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 15:28 |
|
Combobox+поиск в табличной форме
|
|||
---|---|---|---|
#18+
вадя, Без обид. Не хочу вступать в перепалку чей код лучше. Одно только поясните что в этом коде вызывает недоверие и что надо проверять временем? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 15:50 |
|
|
start [/forum/topic.php?fid=45&msg=39800405&tid=1610757]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 314ms |
total: | 447ms |
0 / 0 |