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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2009, 09:20   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Locate с условием в DBGrid

Добрый день! Есть DBGrid, с колонкой "Двойки", Edit2. Вопрос: Как Сделать поиск по ФИО через Locate в DBGrid, но чтобы оязательно отбирались ФИО только такие, у которых значение, введенное в edit2 равно, например, 2?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.03.2009, 10:26   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если правильно понял:
xxxxx.Locate('FIO;OCENKA', VarArrayOf(['Оболтусов', 2]), []);
но это найдёт первого Оболтусова с оценкой два.

а вообще, можно просто отфильтровать нужные записи...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.03.2009, 10:28   #3
TOJluK
Пользователь
 
Аватар для TOJluK
 
Регистрация: 13.08.2008
Сообщений: 14
По умолчанию

Через Locate, пожалуй, никак (ток если циклом гнать). Надо использовать фильтр. В св-х таблицы Filtered:=True;
и
Код:
Table1.Filter:='имя_колонки' +'=' + Edit2.Text;
TOJluK вне форума Ответить с цитированием
Старый 24.03.2009, 14:19   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

TOJluK, что-то я не очень въехал в ваш код . Выдает ошибку типа что у меня нет такого поля. Но это не так. Оно есть...
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.03.2009, 14:31   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вы хоть 'имя_колонки' поменяли на название поля?
И Edit2.Text нужно заквотировать QuotedStr(Edit2.Text)...
mihali4 вне форума Ответить с цитированием
Старый 24.03.2009, 23:33   #6
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

если коротко, то примерно так:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Table1.Filtered:=False;
Table1.Filter:='FIO = '+Edit1.Text+' AND OCENKA = '+Edit2.Text+'';
Table1.Filtered:=True;
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 24.03.2009, 23:44   #7
Антон Ю.Б.
Форумчанин
 
Регистрация: 03.01.2009
Сообщений: 116
По умолчанию

Table1.Filter:='FIO = '+QuotedStr(Edit1.Text)+' AND OCENKA = '+QuotedStr(Edit2.Text);

Второе QuotedStr снять, если тип целочисленный, а не текстовый. А вообще - несерьезно это, Вам уже в указаниях все было дано для решения.
Антон Ю.Б. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с условием. Stager Общие вопросы C/C++ 4 13.01.2009 02:01
Locate Killbrum БД в Delphi 11 03.09.2008 10:01
Unable to locate file Febreze Компоненты Delphi 1 13.05.2008 22:12
Помогите с Условием memoze Microsoft Office Excel 7 22.02.2008 15:23
Locate без учета регистра символов _SERGEYX_ БД в Delphi 2 09.08.2007 09:52