Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2009, 20:08   #1
Aндрей
Пользователь
 
Регистрация: 15.02.2009
Сообщений: 33
По умолчанию Поиск в таблице бд

Имеется таблица в базе данных с разными полями, необходимо в ней организовать поиск данных по какому-то из этих полей. Например, в таблице есть столбец "Кол-во", содержащий строки 5, 2, 50, 2, 2 и т.д. Допустим если искать по этому столбцу строки с 2, при нажатии на копку поиск , он находит первую строку с 2, если эта строка с двойкой не удовлетворяет, то продолжить поиск таким образом, что при повторном нажатии кнопки "Поиск" он нашел строку со след 2 и т.д. если строк с двойками больше нет, то выдал сообщение “не найдено”.
Поиогите пожалуйста это реализовать. В принципе я сделал поиск с пом Locate, FIND KEY, FIND_NEAREST, он находит строку с первой двойкой, но при повторном нажатии на кн "Locate"
он все-равно находит эту же строку..

Вот мой поиск с пом Locate:
procedure TBooks.Button1Click(Sender: TObject);
var
finder:string;
begin
case
combobox1.ItemIndex of
0:finder:='B_NAME';
1:finder:='B_DATE';
2:finder:='B_KOL';
3:finder:='B_N_KOL';
4:finder:='Avtor';
5:finder:='ganr';
6:finder:='IZDAT';
end;
dm.BOOK.Locate(finder,edit1.Text,[loPartialKey])

end;
Изображения
Тип файла: jpg 2.jpg (32.8 Кб, 136 просмотров)
Aндрей вне форума Ответить с цитированием
Старый 26.04.2009, 22:47   #2
]Wowan[
Delphi forever
Форумчанин
 
Аватар для ]Wowan[
 
Регистрация: 13.01.2009
Сообщений: 113
По умолчанию

Используй всемогущий SQL
Программы на заказ Delphi, Pascal.
ася: 415 253 529. Мыло: wowan141750@gmail.com.
]Wowan[ вне форума Ответить с цитированием
Старый 27.04.2009, 18:45   #3
Minotavr_x86
Пользователь
 
Аватар для Minotavr_x86
 
Регистрация: 22.03.2007
Сообщений: 24
По умолчанию

Воспользуйся Lookup она возвращае массив значений, а потом поэтому массиву перемещайся с помощью Locate.
Код:
function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant; virtual;
Lookup(где искать;что искать;результирующее поле):Variant
Результирующее обязатьльно ключевое!
Не всё получается так, как придумал,
Но разве за это должно быть стыдно!?!
Minotavr_x86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в таблице бд Aндрей Помощь студентам 2 27.04.2009 09:13
Поиск значения в таблице solo7_77 Microsoft Office Excel 3 15.11.2008 01:26
поиск в таблице puma Помощь студентам 3 22.04.2008 23:56
Поиск в таблице БД фЁдОр БД в Delphi 13 14.11.2007 10:05
Поиск в таблице Voffka БД в Delphi 1 08.05.2007 01:16