powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combobox+поиск в табличной форме
15 сообщений из 40, страница 2 из 2
Combobox+поиск в табличной форме
    #39800659
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаман,

Код: vbnet
1.
((([Наименование]) Like '*" & f & "*'))


куча лишних скобок

и самое основное - необходимость знать последовательность фрагментов
набрал не в нужном порядке - и никогда не найдёшь.


произвольный порядок ввода позволяет юзеру не запоминать что и как вводилось.
и вводить критерии более логически осмысленно.
из твоего же примера 7 мат
логически 7 - объём и что по этому объёму
или наоборот
особенно это важно если обрабатывается заказ по телефону, клиент называет как ему удобно, и можно сразу вводить , не дожидаясь полного названия
это было проверено на приёме операторами заявки и во время приема набивания счета

и (если по уму) надо ограничивать число отображаемого(найденного) чтоб ускорить(ограничить) поиск
с точки зрения юзера - лучше запускать поиск по вводу каждого символа,
с точки зрения нагрузки на базу - по вводу пробела.
НО ни в коем случае после ввода нескольких фрагментов и ентер.
у меня работало по вводу каждого символа с лимитом отображения 15 записей - нагрузки на базу не замечалось

и это
Код: vbnet
1.
2.
3.
4.
5.
6.
 If Товар.ListCount = 0 Then
    Me.Товар = Null
    Me.Товар.Requery
    MsgBox "По введенному Вами запросу ничего не найдено!", vbCritical, "Результат поиска"
    Me.Товар.RowSource = "SELECT Товар_tbl.* FROM Товар_tbl;"
    End If


лишнее, если список раскрылся пустым - юзер и так видит , что ничего нет
(если это есть - значит ты запускаешь по ентер, что ни есть хорошо)
как вариант если есть отдельное поле производителя (не включенного в наименование ) можно искать и в соединении двух полей
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800720
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если БД "боевая", а не "игрушечная"-посмотрите пример
(Поиск несколькими кликами мыша ничуть не сложнее набора на клавиатуре,зато намного нагляднее.Не все так просто,как кажется, но если разобраться-то все не так уж и сложно)
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800737
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
Сколько людей столько и мнений. Вот моя логика работы:
1. Много скобок.
В силу своей лени и невнимательности, предпочитаю создавать сначала запросы (это быстрее чем писать код вручную), затем открываю их в режиме SQL и копирую из него отформатированный Access-ом тест.
Такое количество скобок указал именно Access. Попробовал убрать лишние, а он мне их опять подставляет.
Я как то ему очень сильно доверяю и раз он говорит что надо так, то я так и делаю.

2. Поиск
Фишка запроса поиска в двойном-тройном повторении наименования. Т.е. Вы можете какую угодно комбинацию составлять, но все равно товар найдется.
При тройном повторении наименования "Яблоко зеленое Польша" можно искать ябл*зел зел*ябл пол*зел*ябл пол*зел*ябл и т.д и т.п.

3. Нагрузка
Её нет. Набрали текстовые фрагменты, нажали Enter. База напряглась и выдала только совпадения и снова бездействует.
Если список слишком большой, то уточнили параметр еще одним фрагментом и еще раз нажали Enter.

4. Обработка результата поиска.
С этого все и началось. ШаманВ табличной форме товар выбирается из справочника. По мере ввода данных происходит "фильтрация" списка.
В ленточной форме это работало на отлично, но появилась необходимость перевести это в табличный режим.
Казалось бы все просто. Поменял формат и все готово. Не тут то было...
Если в поле ввести ошибочно символ и удалить его, то combobox категорически не хочет обновляться .Без данной обработки, при ошибочном вводе, поле остается пустым.

sdku,
Спасибо за пример, но:
Шаман... появилась необходимость перевести это в табличный режим.
Ну на этом вроде все. Всем удачи и успехов в работе.
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800747
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШаманПри тройном повторении наименования "Яблоко зеленое Польша" можно искать ябл*зел зел*ябл пол*зел*ябл пол*зел*ябл и т.д и т.п.т.е. надо перебрать все варианты комбинации...
Шаман Если в поле ввести ошибочно символ и удалить его, то combobox категорически не хочет обновляться .
ШаманБез данной обработки, при ошибочном вводе, поле остается пустым.
на это могу сказать - необходимо учить матчать . у меня всё работало.
ну если свой вариант устраивает - не буду настаивать на своём
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800755
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяШаманПри тройном повторении наименования "Яблоко зеленое Польша" можно искать ябл*зел зел*ябл пол*зел*ябл пол*зел*ябл и т.д и т.п.т.е. надо перебрать все варианты комбинации...
Нет.Просто в строку поиска добавляем несколько раз наименование
Код: vbnet
1.
2.
f = Me.Товар.Text
Me.Товар.RowSource = "SELECT Товар_tbl.* FROM Товар_tbl WHERE ((([Наименование] &" "& [Наименование] &" "& [Наименование]) Like '*" & f & "*'));"

получаем "Яблоко зеленое Польша Яблоко зеленое Польша Яблоко зеленое Польша". Теперь попробуйте применить любую из комбинаций.
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800759
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШаманНет.Просто в строку поиска добавляем несколько раз наименованиев моём случае число фрагментов может быть любым
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800767
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаман,

пример использования 2577190
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800806
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
Ну в общем проблема та же, с чего я начал топик.
Как только в Вашем примере добавил источник записей для сохранения списка Таблица2 - начались проблемы.
Первая запись отработала на отлично, а на второй начались "глюки". Визуально пропадают набранные строки, которые не соответствуют текущему фильтру.
Добавил в Таблицу2 в поле Ф Яблоки зеленые Польша, т.к. ввод товара производится в одно поле.
Находит только по схеме яб зел пол. Если изменить порядок, то результат отрицательный.
При выходе и повторном входе строка с яблоками отображается как пустая.
Сделал базу для сравнения. Попробуйте сами потестить.
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800812
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаман, интересно а статистику по продажам и т.п. собираете тоже отдельно "яблоки зеленые" и "зеленые яблоки", "яблоки зеленые Польша"?
по мне так проблема здесь (и не только здесь) не в поиске а во вводе, имхо.
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800817
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,
1. Возникла проблема с combobox при переводе приходной ТТН с ленточной формы на табличную.
2. Проблема решена с помощью простейших манипуляций. Параллельно затронулась тема фильтрации с универсальным порядком ввода ключевых слов.
3. Вадя предложил готовое решение, демонстрирующее отсутствие ошибки при отсутствии нужного результата, которое я попытался адаптировать под собственные нужды.
4. В процессе изучения выяснилось, что предложенный пример не подходит для данной цели.
Причем здесь статистика?
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800822
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,
Еще одно уточнение. Пользователь выбирает товар из заполненного ранее справочника. При отсутствии нужной позиции он добавляет её в справочник, но это уже другая тема.
Основная задача состоит в том, что бы продавец не создавал дублирующие карточки.
Опять вернусь к яблокам. В базе уже есть товар Яблоки зеленые Польша. В накладной поставщика написано Зеленые яблоки Польша.
Юзер вводит зел ябл (из ттн) и получает ответ о том, что в базе уже есть подобный товар, который он и выбирает.
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800844
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяШаман,

пример использования 2577190 Виноват, поспешил с выводами и был не прав. Действительно элегантное решение.
Допилил немного под себя и все заработало. Видимо вчера сказалось усталость за рабочую неделю.
СПАСИБО за совет.
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39800863
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаман,
к сожалению посмотреть решение не могу, с аксом расстался давно.
счас веб. но данное решение применяю и там. работает на ура.
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39801093
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадясчас веб.

если не секрет,- интерфейс, бд, инструменты какие ? (так... чисто из интереса)
...
Рейтинг: 0 / 0
Combobox+поиск в табличной форме
    #39801113
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagесли не секрет,- интерфейс, бд, инструменты какие ? (так... чисто из интереса)секрета нет - трёхзвенка - браузер/серверное приложение(java) /mysql(хранимки)
ide - Netbeans
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combobox+поиск в табличной форме
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]