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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2012, 17:46   #1
pr1nc
 
Регистрация: 01.11.2011
Сообщений: 4
По умолчанию Поиск нескольких строк в DBGrid

Добрый вечер. Я для поиска в DBGrid использую:

Table1.Locate('Fio klienta',Edit1.Text,[loCaseInsensitive,loPartialKey]);

Да, оно работает. Но вопрос в следующем - если у меня в базе примерно 10 человек с одинаковыми фамилиями и с разными покупками, нужно сделать кнопочку типа "Искать дальше"! Тоесть, я ввел в Edit "Петр" и оно перешло сразу на Петрова, клацнул на кнопочку и оно нашло следующего Петрова и т.д.
Как это реализовать? Заранее благодарен.
pr1nc вне форума Ответить с цитированием
Старый 16.12.2012, 18:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Что-то типа:
Код:
b:=true;
if not bof then b:=Table1.FindNext;
if b then Table1.Locate('Fioklienta',Edit1.Text,[loCaseInsensitive,loPartialKey]);
Где b - Boolean;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2012, 18:54   #3
pr1nc
 
Регистрация: 01.11.2011
Сообщений: 4
По умолчанию

а что такое if not "bof", а то ошибку выдает? я сделал if not b of, все равно ошибка:
[Error] Unit2.pas(121): 'THEN' expected but 'OF' found
pr1nc вне форума Ответить с цитированием
Старый 16.12.2012, 19:06   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

bof это свойство компонента Table, определяющее первую запись. Подробности читай в хелпе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2012, 19:25   #5
pr1nc
 
Регистрация: 01.11.2011
Сообщений: 4
По умолчанию

Так оно выбивает ошибку, неизвестный индетефикатор, может модуль какой-то подлючать нужно?
pr1nc вне форума Ответить с цитированием
Старый 16.12.2012, 19:33   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Первый раз по LOCATE искать, а следующие поиски от текущей записи простым перебором
Код:
Table1.Next;
b:=False;
while not Table1.Eof do begin
  b:=Table1.FeldByName(('Fio klienta').AsString=Edit1.Text;
  if b then Break;
  Table1.Next;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.12.2012, 19:39   #7
pr1nc
 
Регистрация: 01.11.2011
Сообщений: 4
По умолчанию

О, работает, спасибо всем огромное!
pr1nc вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод нескольких таблиц по очереди в DBgrid Silent69 БД в Delphi 0 30.04.2012 11:37
UPDATE нескольких строк. vedro-compota SQL, базы данных 18 31.01.2011 18:15
Удаление нескольких строк с условием Ppaa Microsoft Office Excel 4 20.12.2010 16:42
Копирование нескольких строк из dbgrida в dbgrid eviL_exP БД в Delphi 2 11.06.2009 12:37
Сохранение нескольких записей из DbGrid в базу Canadec БД в Delphi 5 06.09.2007 14:26