Вниз
Скачать: CL | DM;

Как побороть AdoDATASet?   Найти похожие ветки 

← →
saha   (2003-04-22 12:30) [0]

Привет!
Вот вопрос:
есть база mdb хочу сделать что бы в DBGrid при наборе, допустим, названия курсор плавно перемещался на ближайшую похожую запись (почти как в 1С).
Использую для подключения AdoDataSet. Метод locate прекрасно работает, но он ищет с самого начала и останавливается всегда на одной и той же записи, а дальше не ищет. Как его победить? Ну или может есть другие способы.


← →
KoluChi ©   (2003-04-22 13:22) [1]

Делаешь набор данных по запросу SELECT ID FROM WHERE FIELD = FINF_VALUE. А затем Locate по твоей таблице на найденным.


← →
saha   (2003-04-22 13:52) [2]

через select ясно, но база ~80 тыс записей, каждое новое обновление вызывает задержку. Да и все равно, допустим есть n товара - Бублик по 1.2 бублик по 1.3 и т.д. Если я сделаю locate, то он найдет мне первый, а как сделать что бы он еще и второй искал?


← →
Anatoly Podgoretsky ©   (2003-04-22 13:58) [3]

LIKE тебя не устроит, это конечно не поиска, а фильтрация, но быстро и удобно, все бублики будут в одном флаконе.


← →
Соловьев ©   (2003-04-22 14:00) [4]


> но база ~80 тыс записей, каждое новое обновление вызывает
> задержку.

????



> товара - Бублик по 1.2 бублик по 1.3 и т.д. Если я сделаю
> locate, то он найдет мне первый, а

select *
from table
where upper(name_tovar collate pxw_cyrl) like upper("БУБЛИК" collate pxw_cyrl)||"%"


← →
KoluChi ©   (2003-04-22 14:27) [5]


> через select ясно, но база ~80 тыс записей, каждое новое
> обновление вызывает задержку. Да и все равно, допустим есть
> n товара - Бублик по 1.2 бублик по 1.3 и т.д. Если я сделаю
> locate, то он найдет мне первый, а как сделать что бы он
> еще и второй искал?


Locate не по бубликам, а по ID



← →
saha   (2003-04-22 14:29) [6]

\>KoluChi
а по-подробнее


← →
KoluChi ©   (2003-04-22 14:58) [7]

По-подробнее:
1. у тебя уже есть таблица1(набор данных), в которой ты хочешь искать бублики.
2. создаем другую таблицу2(набор данных), в которую выбираем идентификаторы бубликов, которые удовлетворяют условию.
SELECT BUBL_ID FROM BUBLS WHERE BUBLE_NAME LIKE FIND_TEX
3. в таблице1 переходим локейтом на напись где идентификатор бублика = BUBL_ID первой записи таблицы2.
4. затем при нажатии на кнопку "следующий", в таблице2 переходим на следующую запись и определяем BUBL_ID. В таблице1 позиционируем на запись с идентификатром BUBL_ID.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
4-34649
Nick Denry
2003-03-11 20:59
2003.05.12
Меню


14-34611
Songoku
2003-04-19 16:04
2003.05.12
Кто за то что бы провести соревнования по DELPHI????


1-34474
Фагот
2003-04-29 14:01
2003.05.12
Боюсь попасть в орешник, но...


4-34650
Reyst
2003-03-07 12:00
2003.05.12
Поиски от противного - LockWorkStation...


14-34558
Карлсон
2003-04-23 16:09
2003.05.12
Бойкот.




   Наверх