Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.09.2009, 12:20
Аватар для Anchorte
Anchorte Anchorte вне форума
Прохожий
 
Регистрация: 18.09.2009
Адрес: Курск
Сообщения: 49
Репутация: 10
Вопрос Поможите с фильтрацией базы данных

У меня есть некая база данных, текст вводится в Edit нужно сделать так чтобы при введение символов происходило фильтрование...
пробовал по аналогии с ComboBox'сом:
Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 if ComboBox1.Text='Все'
  then
    begin
     Table2.Filtered:=True;
     Table2.Filter:='Kod > 0';
    end
  else
    begin
     Table2.Filtered:=True;
     Table2.Filter:='Grup = ''' + ComboBox1.Text+'''';
    end;
end;

но так он ничего не выводит
Ответить с цитированием
  #2  
Старый 18.09.2009, 12:45
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Как минимум, нужно :

Код:
 Table2.Filtered:=False;  //!!!
 Table2.Filter:='...';
 Table2.Filtered:=True;  //!!!
Ответить с цитированием
  #3  
Старый 19.09.2009, 11:08
Аватар для Anchorte
Anchorte Anchorte вне форума
Прохожий
 
Регистрация: 18.09.2009
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Этот код работает нормаль. Я не могу сделать так чтобы по мере ввода символов в базе данных отбрасывались не подходящие по фильтру подскажите пожалуйсто
Ответить с цитированием
  #4  
Старый 19.09.2009, 11:12
Babuca Babuca вне форума
Прохожий
 
Регистрация: 09.08.2009
Сообщения: 27
Репутация: 10
По умолчанию

Цитата:
Сообщение от Anchorte
У меня есть некая база данных, текст вводится в Edit нужно сделать так чтобы при введение символов происходило фильтрование...
beriom timer s intervalom k primeru 500ms i vyrubaem evo enabled:=false.
OnChange editboksa pishem
Код:
Timer1.Enabled:=False; Timer1.Enabled:=True;
a dalse u timera propisivaem sledushi kod
Код:
If Trim(Edit1.Text)<>'' Then
  Begin
   try

    ADOTable1.Filtered := True;
    ADOTable1.Filter := 'gvari LIKE ''' + Edit1.Text+ '%' + '''';

   finally
    Timer1.Enabled:=False;
   end;
  end
   else
  begin
    ADOTable1.Filtered := False;
  end;
p.s. izvinite za translit
Ответить с цитированием
  #5  
Старый 19.09.2009, 11:22
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

код для поиска по ДБФ через TQuery ... для ADOTable должно быть аналогичным:
Код:
procedure TfForm.Ed1Change(Sender: TObject);
begin
if Length(Ed1.Text)>0 then
begin
Ed2.Enabled:=False;
Q1.Filter:='TIN = '''+Ed1.Text+'*''';
Q1.Filtered:=True;
end
else
begin
Ed2.Enabled:=True;
Q1.Filtered:=False;
end;
end;
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #6  
Старый 19.09.2009, 14:32
Аватар для Anchorte
Anchorte Anchorte вне форума
Прохожий
 
Регистрация: 18.09.2009
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Спасибо за помощь. Вечером попробую.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter