|
1 / 1 / 0
Регистрация: 07.09.2021
Сообщений: 105
|
||||||
Неудовлетворительный результат поиска в ADOQuery методом Locate31.01.2022, 14:18. Показов 2590. Ответов 24
Добрый день уважаемые форумчане.
На форме имеется компонент DBLooukupCombobox. В него выводится уникальный уникальный список адресов из таблицы MSAccess. Пытаюсь через обработку событий OnChange текстового поля TEdit2 организовать быстрый поиск первого попавшего значения. Поиск работает с наполовину. Он находит значения расположенные до точки. А после точки пропускает. Это особенность поиска Locate, или я что-то не так делаю? Прошерстил форум и интернет, но насчет этой особенности ничего не накопал.
0
|
||||||
| 31.01.2022, 14:18 | |
|
Ответы с готовыми решениями:
24
Locate в ADOQuery
Метод Locate для поиска в БД Access |
|
|
|
| 01.02.2022, 11:36 | |
Сообщение было отмечено esgard как решение
Решение
если я ничего не путаю, то вас же не устраивает функциональность лукап комбо?
или уже норм? Насколько я понимаю, вы пытаетесь решить классическую задачу идентификации объекта по разным источникам методом синонимов. То же самое решают, когда заводят один и тот же товар по накладным от разных поставщиков, например. т.е. у нас есть какой-то эталонный справочник ID<--->строка и справочник синонимов, где много строк должны указывать на один и тот же ID из этого справочника ну и рабочая таблица, которая вместо исходной строки хранит ID из справочника. Тогда в лукапе мы должны собирать датасет по справочнику синонимов, соединенному(join!) с эталонным и этот датасет должен уточняться (фильтроваться) после ввода каждого следующего символа насколько я понимаю, лукап такой функциональности не даcт, даже если на него кинуть обработчик, потому что у него другая реакция на ввод, и надо ее как-то подавить. решением тут скорее всего будет вывод поверх модальной формы, где будет обычный edit и dbgrid при вводе в Edit происходят все более точные запросы, в гриде видим результат. двойным кликом по гриду закрываем форму и проставляем в нужное поле эталонный ID. А само поле тогда как раз может быть lookup полем на эталонный справочник а параметры это просто способ 1) не делать ошибки в выражениях 2) не заставлять сервер бесконечно заново парсить одну и ту же SQL строку
1
|
|
|
1 / 1 / 0
Регистрация: 07.09.2021
Сообщений: 105
|
||
| 01.02.2022, 15:36 [ТС] | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 07.09.2021
Сообщений: 105
|
||||||
| 01.02.2022, 17:20 [ТС] | ||||||
|
Не пойму в чем дело. Фильтрация отрабатывает вроде бы нормально. Но возникла какая то непонятная проблема с передачей значения выделенной строки. Причем иногда передается правильно, а иногда нет.
0
|
||||||
|
1 / 1 / 0
Регистрация: 07.09.2021
Сообщений: 105
|
|||||||
| 02.02.2022, 10:56 [ТС] | |||||||
|
Путем многочисленных проб и ошибок было выяснено что всю малину портит собственный быстрый поиск компонента DBLookUpCombobox. О чем вы и писали:
А вот с методами подавления тоже пришлось помучиться. Пробовал отключать комбобокс, пробовал передавать значения через глобальную переменную, задумался уже о свойстве KeyPreview главной формы, но в итоге пришел к этому:
0
|
|||||||
| 02.02.2022, 10:56 | |
|
Помогаю со студенческими работами здесь
25
Проблема с методом Locate() Поиск методом Locate
Поиск методом Locate: маски Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|