Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Как организовать циклический поиск по таблице?   Найти похожие ветки 

 
Anics   (2004-03-02 10:32) [0]

Пусть есть таблица сотрудников, и там 10 человек с фамилией "Иванов". Как можно организовать поиск таким образом, чтобы при первом поиске позиционировался первый "Иванов", при втором - второй "Иванов" и так далее по циклу?


 
Alex_Bredin ©   (2004-03-02 10:35) [1]

создайте индекс по этому полю


 
Anics   (2004-03-02 10:36) [2]

Индекс существует, что дальше?


 
malkolinge ©   (2004-03-02 10:39) [3]

Если на клиенте - наложи фильтр. Name = "Иванов".


 
VAleksey ©   (2004-03-02 10:46) [4]

1) Навигация по условиям фильтра в неотфильтрованном НД. DataSet.FindFirst, DataSet.FindNext. Фильтр можно установить с помощью св-в Filter или события OnFilterRecord - DataSet - a. (Советую OnFilterRecord)
2) Сделать запрос и получить списко идентификаторов (ID) для всех Ивановых в таблице. Затем простой Locate по значениям из этого списка.
3) Взять dbGridEh где реадизована эта возможность.


 
Voland2000   (2004-03-02 12:58) [5]

Не знаю как вы, а я сделал по своему:
1)Проходим каждую запись таблицы.
2)Функцией pos() ищем нужную строку.


 
SPIRIT ©   (2004-03-02 13:01) [6]


> Voland2000   (02.03.04 12:58) [5]

и по времени это раз в 5 долльше чем [4] .


 
Anatoly Podgoretsky ©   (2004-03-02 13:11) [7]

Anics   (02.03.04 10:36) [2]
Дальше два оптимальных варианта
1. фильтр по фамилии
2. Активируем индекс, Locate и далее последовательный поиск (Next) пока фамилия равна.
3. неоптимальный вариант, Locate и далее последовательный поиск до конца набора с проверкой на совпадение


 
Alex_Bredin ©   (2004-03-02 13:35) [8]

в добавление к

> Anatoly Podgoretsky ©   (02.03.04 13:11) [7]


Лучше использовать SetKey,GotoNearest вместо Locate(для индексированных полей)


 
Anatoly Podgoretsky ©   (2004-03-02 13:36) [9]

Или GotoNearest или FindNearest в зависимости от индекса


 
Соловьев ©   (2004-03-02 13:46) [10]

http://delphimaster.net/view/3-1076933565/
посмотреть то что я предложил



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1079512182
Алексей Петухов
2004-03-17 11:29
2004.04.04
Excel в стиле R1R1


14-1078460059
Rouse_
2004-03-05 07:14
2004.04.04
C Днем Рождения 5 Марта


1-1079270328
A JI E LLI A
2004-03-14 16:18
2004.04.04
Использование функции FloatToStr


9-1063174432
Riko
2003-09-10 10:13
2004.04.04
OpenGL-DirectX-DelphiX глупый вопрос - но не дает покоя


14-1078740329
Marina_S
2004-03-08 13:05
2004.04.04
помогите найти конференцию по ассемблеру плиз