Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.12;
Скачать: 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 вся ветка

Текущий архив: 2003.05.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
3-34344
Evgeny
2003-04-22 12:32
2003.05.12
SQL запрос


4-34641
NAlexey
2003-03-11 14:06
2003.05.12
BorderStyle


3-34337
I.Ru.Ru
2003-04-22 09:05
2003.05.12
А можно из формата dbf импортировать в Дельфи в формат db?


14-34612
DiamondShark
2003-04-21 17:40
2003.05.12
Слово


14-34559
TCrash
2003-04-23 15:03
2003.05.12
ICQ ???????????