0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
1

Выпадающий список - поиск по части названия

25.07.2021, 20:34. Показов 5650. Ответов 39
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Есть задача - при открытии формы "таблица 1" в поле "наименование" хочу вводить часть содержимого наименования, чтобы далее выпадающий список подтягивал только те наименования, где содержится это слово, например введя "шлейф" подтягивались только наименования со словом "шлейф", кто-нибудь знает как это реализовать? т.к. сейчас поле со списком ищет слова в точности так, как оно заведено в "номенклатуру"
Вложения
Тип файла: rar Microsoft Access Database (2).rar (108.7 Кб, 19 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2021, 20:34
Ответы с готовыми решениями:

Как сделать ссылку разных столбцов с привязкой названия через выпадающий список?
Добрый день! Проблема заключается в следующем: 1. есть лист общих данных в котором даны...

FindWindowA Поиск по части названия
HWND hWnd = FindWindowA(0, "Cheat Engine 7.2"); if (hWnd) { printf("Window found!\n"); }...

Поиск прикрепленного документа в Outlook по части названия
Добрый день. Подскажите пожалуйста каким образом задать поиск прикрепленного документа во...

Поиск по БД через выпадающий список
Сделал поиск изначально так: (кусок на примере города) <select name='city'> ...

39
601 / 125 / 44
Регистрация: 12.04.2015
Сообщений: 500
25.07.2021, 21:08 2
Лучший ответ Сообщение было отмечено KirillV как решение

Решение

так что ли?
Вложения
Тип файла: rar Microsoft Access Database (2).rar (111.8 Кб, 53 просмотров)
2
Модератор
Эксперт MS Access
11955 / 4823 / 779
Регистрация: 07.08.2010
Сообщений: 14,126
Записей в блоге: 4
25.07.2021, 22:17 3
Цитата Сообщение от KirillV Посмотреть сообщение
введя "шлейф" подтягивались только наименования со словом "шлейф"
справочник на 6500+записей, шлейфов более 800, вряд ли комфортно будет искать по списку, разумнее использовать подчиненную форму, чтобы искать по 2-3 кусочкам наименования и возможностью под-корректировки условия
1
Эксперт MS Access
7395 / 4532 / 295
Регистрация: 12.08.2011
Сообщений: 14,015
26.07.2021, 02:29 4
Цитата Сообщение от glsn Посмотреть сообщение
так что ли?
Visual Basic
1
If Len(Наименование.Text) > 0 Then
я обычно больше 2-3 делаю, как правило меньше смысла нет.
1
775 / 256 / 43
Регистрация: 09.12.2016
Сообщений: 855
26.07.2021, 08:45 5
Цитата Сообщение от alvk Посмотреть сообщение
я обычно больше 2-3 делаю, как правило меньше смысла нет.
Я лично только 3 и больше
1
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
26.07.2021, 11:57  [ТС] 6
glsn, да, именно так, но знаете что не удобно... после того. как перехожу в новую строку, выпадащий список ограничен "прошлым" критерием поиска. Можно как-то при переходе в новую строку обнуляться... чтобы выпадающий спсиок был полный... а не как в прошлой строке... видимо какой-то этап "обновления" надо...
0
Модератор
Эксперт MS Access
11955 / 4823 / 779
Регистрация: 07.08.2010
Сообщений: 14,126
Записей в блоге: 4
26.07.2021, 12:11 7
Цитата Сообщение от KirillV Посмотреть сообщение
выпадающий список был полный... а не как в прошлой строке
не тратьте время на список, все равно придете к всплывающей ленточной форме с полями для фильтра
у вас еще и разносимволье есть, например сс12 не равно сс12, так как первое сс12 на латинице, второе на кириллице, вполне возможно, что и это придется учитывать, формируя условие фильтра

наименование like "*[cс][cс]12*

возможно даже для учета разделителей
наименование like "*[cс][cс]*12*
2
775 / 256 / 43
Регистрация: 09.12.2016
Сообщений: 855
26.07.2021, 12:19 8
Цитата Сообщение от shanemac51 Посмотреть сообщение
не тратьте время на список, все равно придете к всплывающей ленточной форме с полями для фильтра
Опять полностью поддерживаю shanemac51. Исходя из собственного опыта работы.
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
26.07.2021, 13:09  [ТС] 9
shanemac51, да нет) меня вполне устраивает тот вариант, что был выше... просто не знаю, как его доработать... а там сс12 или cc12 это уже ответственность оператора, кто заводит эти названия..

Добавлено через 59 секунд
tkrainyk, а как это выглядит/работает?
0
Модератор
Эксперт MS Access
11955 / 4823 / 779
Регистрация: 07.08.2010
Сообщений: 14,126
Записей в блоге: 4
26.07.2021, 13:34 10
Цитата Сообщение от KirillV Посмотреть сообщение
там сс12 или cc12 - это уже ответственность оператора, кто заводит эти названия
уже введены и сс12 и другие подобные, визуально их не отличишь, а искать то надо
вам придется написать нормальную процедуру фильтрации
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
26.07.2021, 13:41  [ТС] 11
shanemac51, ничего страшного)) да и поиск ведут больше не по точному наименованию, а по части. типа iphone 7 plus... и далее пролистывают, что подтянулось
0
Модератор
Эксперт MS Access
11955 / 4823 / 779
Регистрация: 07.08.2010
Сообщений: 14,126
Записей в блоге: 4
26.07.2021, 14:21 12
Цитата Сообщение от KirillV Посмотреть сообщение
iphone 7а plus
угадайте, какой регистр у , что набирать оператору, кириллицу или латиницу
подобных строк у вас довольно много(я перевела в ворд и посмотрела, раскрасив для наглядности)

Добавлено через 4 минуты
Цитата Сообщение от KirillV Посмотреть сообщение
далее пролистывают, что подтянулось
мне как-то досталась по наследству задача - для выбора весьма востребованного клиента оператор пролистывала 7 экранов , на 8-м глазами искала требуемого ЧП
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
26.07.2021, 14:52  [ТС] 13
shanemac51, )))))))) если не хотите помочь)) то не помогайте. Я понимаю риск и осознаю)) но говорю, что меня это не пугает)) 7 страниц или 58))) если честно, то заказчик в данном случае, вообще ведет этот справочник из 7000 позиций, сам не понимая для чего)) т.е. там нет никакой привязки к цене, ед измерения или еще чему-то... просто выбор из списка)) видимо "красиво" глазам, когда выбираешь из списка... но цель финальная не ясна) поэтому просто хотел помочь облегчить поиск, как это сделали в первом ответе на сообщение мое) но оно требует небольших доработок. На самом деле они просто копирую навание с одного файла, вставляют в другой))) поэтому неисключено, что такое кол-во номенклатуры, только потому, что можно написать "айфон пробел 7" а можно "айфон пробел пробел 7" и никто это не перепроверяет...
поэтому если можете поправиь это -
Цитата Сообщение от KirillV Посмотреть сообщение
после того. как перехожу в новую строку, выпадащий список ограничен "прошлым" критерием поиска. Можно как-то при переходе в новую строку обнуляться... чтобы выпадающий спсиок был полный... а не как в прошлой строке... видимо какой-то этап "обновления" надо...
- буду весьма благодарен)))
0
Модератор
Эксперт MS Access
11955 / 4823 / 779
Регистрация: 07.08.2010
Сообщений: 14,126
Записей в блоге: 4
26.07.2021, 14:56 14
Цитата Сообщение от KirillV Посмотреть сообщение
shanemac51, )))))))) если не хотите помочь)) то не помогайте
мое решение - через форму, но я должна знать - нужно ли оно вам
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
26.07.2021, 15:20  [ТС] 15
shanemac51, не совсем понимаю кк это... но если смысл тот же - то почему бы и нет...
0
Модератор
Эксперт MS Access
6003 / 2832 / 692
Регистрация: 12.06.2016
Сообщений: 7,592
26.07.2021, 15:55 16
KirillV,

Сделать список полным можно очень просто:

1 способ.
Без к.-л. доработки БД, только силами пользователя-оператора.
Ввести в пустое поле Наименование пробел, затем удалить его.
Всё - список избавился от наложенного условия.

2 способ.
В процедуре обработки события формы Текущая запись прописать:
Наименование.Rowsource = "SELECT ... FROM ..."
То есть, без WHERE.
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
26.07.2021, 16:21  [ТС] 17
Capi, а можете поправить? я просто не бум-бум в VBA
PureBasic
1
2
3
4
5
6
    If Len(Номенклатура.Text) > 3 Then
        Me.Номенклатура.RowSource = "SELECT Код, Номенклатура FROM nomenklatura where Номенклатура like '*" & Me.Номенклатура.Text & "*'"""
        Me.Номенклатура.Dropdown
    Else
        Me.Номенклатура.RowSource = "SELECT nomenklatura.Код, nomenklatura.Номенклатура FROM nomenklatura"
    End If
0
Модератор
Эксперт MS Access
6003 / 2832 / 692
Регистрация: 12.06.2016
Сообщений: 7,592
26.07.2021, 16:28 18
Цитата Сообщение от KirillV Посмотреть сообщение
а можете поправить? я просто не бум-бум в VBA
В этой процедуре?
Но это же процедура Изменение (Change) для списка Наименование?
Почему теперь везде стоит Номенклатура?
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 100
26.07.2021, 16:30  [ТС] 19
Цитата Сообщение от Capi Посмотреть сообщение
Почему теперь везде стоит Номенклатура?
я просто перенес в действующую БД

вот старая/оригинал: модете в ней поправить
PureBasic
1
2
3
4
5
6
    If Len(Наименование.Text) > 0 Then
        Me.Наименование.RowSource = "SELECT Код, Наименование FROM номенклатура where Наименование like '*" & Me.Наименование.Text & "*'"
        Me.Наименование.Dropdown
    Else
        Me.Наименование.RowSource = "SELECT номенклатура.Код, номенклатура.Наименование FROM номенклатура"
    End If
0
Модератор
Эксперт MS Access
6003 / 2832 / 692
Регистрация: 12.06.2016
Сообщений: 7,592
26.07.2021, 16:38 20
В этой процедуре зачем что-то подправлять?
Не обязательно. И так пойдет.

Новую процедуру нужно добавить:
Visual Basic
1
2
3
Private Sub Form_Current()
   Me.Наименование.RowSource = "SELECT Код, Наименование FROM номенклатура"
End Sub
0
26.07.2021, 16:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2021, 16:38
Помогаю со студенческими работами здесь

Поиск в DreamWeavere и выпадающий список
Здравствуйте! Помогите мне пожалуйста добавить на мой будущий сайт поиск по сайту и выпадающий...

Поиск по txt-файлу, доступному по URL или Выпадающий список с функцией поиска
Добрый Всем Вечер! Поставил перед собой следующую задачу: Есть txt-файл на...

В IE, кастомный выпадающий список: не выпадает список, если не хватает места снизу
Только в IE. не работает кастомный выпадающий список, если недостаточно места снизу. Какие варианты...

Дан список, состоящий из названия книг. Напечатать список, упорядоченный по фамилии автора
Дан список, состоящий из названия книг, фамилии авторов, названия издания и года издания....

Сортировка файлов по части названия
можно ли сортировать файлы (возрастание и убывание) по части названия?есть например список файлов с...

ADOTable и фильтрация по части названия?
Здравствуйте! Подскажите как мне реализовать в ADOTable фильтрацию данных не по полному совпадению...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru