Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизКак побороть 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c