Как отфильтровать данные, помогите новичку - Сайт про программирование и программирование под linux
Программирование под linux, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

PickList и единицы измерения..., PickList и единицы измерения...
Расчет полей fkCalculated, проблема :(
Первое поле в таблице, Порядковый номер записей...???
Lookup Field, создать программно
ВЫборка данных из запроса, InterBase & FIBPlus
текст из строки и столбца компонента TDBGridEh
интерфейс
проблема с ado
Подсчитать кол-во записей в ClientDataSet, Если поле Key - примари индекс
FIBDataSet и DBComboBox
Создание индекса, Проблема с созданием индекса
CxGrid. никак не разберусь ..:-(, Колонка типа Image
qreport, как скачать qreport
Нет доступа после обрыва связи, SQLserver2000, ADO
Народ! Отцу пиво проспорю!
Insufficient memory for operation, снова :)
Ошибки при попытке подключения к MySQL.
Firewall на Delphi, Firewall на Delphi
Транзакции и блокировки в MySQL, MySQL - DbExpress - Delphi
Как создать событие наячейку DBGrid, Если можно, то ссылку на Литературу...
Создание таблиц, Как создать таблицу из Delphi
обновление данных
Фильтрация данных, продолжение темы
Проблема с Locate
BDE - "Insufficient memory for operation"
Как прочитать базу данных с Досовским шрифтом, Помогите!!
Чтение, запись в MS Access (*.mdb), как это делается?
DAO или ADO?
Подскажите, Что я сделал неправильно
Почему в DBGrid нельзя статически менять, свойства атрибутов
Как открыть базу для просмотра с CD
Активация индексов в связанны БД не по полям связи, Может пробовать Query?
Связь *.xls файла с TTable
Проблема с подключением ADOConnection
Как Вы относитесь к курящим девушкам?
Delphi + MySQL (Знаю, что обсуждалось, но у меня с
сохранение картинки на SQL сервере
Надобно базу написать... не представляю как и чем, вобщем, смотрите ник
Как создать итогове поле?
SoundBlaster
Резервное копирование таблиц БД, BDE, Paradox
Как реализовать "Выделить все" с TBookmark
ADO
плавный скролл в DBGrid, DBGrid
Работы с RaveReport
БД, БД
Вопрос на тему: Ehlib, как правильно его установить?
Как взять из базы данных определенные её части
Как сохранить изменения в базе данных, Как сохронить изменения при нажатии
Качественные визуальные компаненты, доступа к БД
Как граммотно на русский язык, перевести Handle?
Исключения в БД
полю не задается значение по умолчанию :(
индексы
Как отфильтровать данные, помогите новичку
Xml, как сделать и затем загрузить имя БД
Сетевой подключение к SQLServer2000, Иногда программа не запускается вообще.
Изображения в DBGrid
Удаление данных из BLOB-поля, как сделать?
Копия данных из одного DataSet в другой
Проблема при сохранении файла из БД, Посмотрите что может быть не так
База данных
Помогите, очень срочно!!!, Как загрузить картинку в поле
sql запросы и рекурсия, рекурсия и бд.
создание required поля, через sql
Выборка записей через ADOQuery
изменение содержимого OLE-containera, сохранить изменения в БД
Interbase, backup и restore, сервак вылетает :(
снова sql, create table
RecordCount, Считает количество записей 1 мин.

Платные хостинги     Раскрутка сайта     Книги по программированию


Как отфильтровать данные, помогите новичку

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- На форме присутствуют компоненты DBGrid1, Table1, DataSource1, Edit1. Я написал следующий код для фильтрации в DBGrid1:procedure TForm1.Edit1Change(Sender: TObject);begin if Length(Edit1.Text)>0 then Table1.Filtered:=true else Table1.Filtered:=false; Table1.Filter:='Famil>'''+FindEdit.Text+'''';end;Проблема вот в чем. Разные глюки идут. Подскажите как лучше осуществить фильтрацию. P.S. 1). Токо прошу подсказать при условии что Qyeru1 на форму не добовлять. 2). Или как грамотно добавить Qyeru1 и подключить как для осуществления фильтрации.

- По-моему надо сначало задавать фильтр, а потом свойство Filtered в True или FalseКод Table1.Filter:='Famil>'''+FindEdit.Text+'''';if Length(Edit1.Text)>0 thenTable1.Filtered:=trueelseTable1.Filtered:=false;highlightSyntax('delphiA4ZGU4','delphi');

- Попробую правда не знаю что получиться? А как еще можно задать фильтрацию кроме указанного способа, подскажите? Лучше с примером.

- Ну как вариант, чтобы не заптаться с опострофами:Код Table1.Filter:='Famil>' + chr( 39 ) + Edit1.Text + chr( 39 );highlightSyntax('delphiWIyZjg','delphi');

- У меня при всех вариантах что то фильтруется, но при этом фигня какаято выскакивает. А именно. Когда я отфилтровал по первому значению все ОК. Когда фильтрую по второму то остается и первое и второе отфильтрованное значение как будто фильтрация предыдущих значений гдето сохраняется. Люди - программисты помогите справиться с этой бедой. !! Плиз!

- Покажи код двух фильтраций

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

- bFilterFilials - глобальная переменнаяесли true, то можно фильтровать procedure TfmMain.tZayFilterRecord(DataSet: TDataSet; var Accept: Boolean);begin if bFilterFilials then Accept := DataSet['ZFilial'] = lcbFilials.KeyValue;end;procedure TfmMain.tZayFilterRecord(DataSet: TDataSet; var Accept: Boolean);begin if DataSet['ZFilial'] = 'филиал' then Accept := true;end;если Accept = true, то запись попадет в набор данныхи так попадут в набор данных все записи, которые имеют значение 'филиал' в поле 'ZFilial' это событие срабатывает тогда, когда ты выполняешь фильтрацию, причем в свойсвеFilter не обязательно должно быть выражение фильтрации, просто выполняешьКод Table1.Filtered:=True т.е. здесь можно фильтровать записи с помощью язывка высокого уровня, а не пятью операторами SQL http://forum.vingrad.ru/index.php?showtopi...ead=1&hl=фильтр

- Вот и у меня то-же самое...

- Коця, покажи код

- procedure TForm1.Edit1Change(Sender: TObject);beginTable1.Filtered:=false;Table1.Filter:='FIO>'''+Edit1.Text+'''';if Length(Edit1.Text)>0 thenTable1.Filtered:=trueelseTable1.Filtered:=false;end;

- динамическая фильтрацияКод procedure TForm1.Edit1Change(Sender: TObject);begin  Table1.Filtered:=False;  Table1.Filter:='LAST_NAME = '+QuotedStr(Edit1.Text+'*');  Table1.Filtered:=true;end;highlightSyntax('delphiGMzMDk','delphi'); Это сообщение отредактировал dsergey - 17.2.2005, 16:25

- чтоб при удалении символов с Едита фильтрация отменялать нада добавить procedure TListClients.Edit1Change(Sender: TObject);begin Form1.Table1.Filtered:=False; Form1.Table1.Filter:='LAST_NAME = '+QuotedStr(Edit1.Text+'*');if Length(Edit1.Text)>0 then Table1.Filtered:=true else Table1.Filtered:=false;end;

- А можно просто запросами, правда если у тебя таблица подключена через QuerybeginQuery1.Active :=False;Query1.TextSQL :='SELECT Телефон FROM NAME WHERE Телефон =:Edit1.Text';Query1.Active :=True;end;Писал по памяти, так как дельфи под рукой нет, возможны ошибки. Добавлено @ 11:12 Да забыл сказать, в самом Query нужно очищать список!Query1.SQLText.Create; - вроде так

- Код procedure TfmFind.bbFindClick(Sender: TObject);Var S,dom,kv:String;begin  with fmMain do begin    if edFind.Text='' then begin      beep;      ShowMessage('Отсутствует текст для поиска');      edFind.SetFocus;    end else    begin      sbFilter.SimpleText:='Идет фильтрация...';      tPhone.Close;      dsPhone.DataSet:=qFilter;      qFilter.DisableControls;      //заменяем знак звезды на знак процента      s:=AnsiUpperCase(StringReplace(edFind.Text,'*', '%', [rfReplaceAll]));      Case cbFind.ItemIndex of        0: begin             qFilter.Close;             qFilter.SQL.Clear;             qFilter.SQL.Add('SELECT ID, TEL, NAM, UL, D, K, MEMO FROM "Tel_db.DB" Tel_db WHERE UPPER(tel) LIKE '+QuotedStr(s));             qFilter.Prepare;             qFilter.Open;           end;        1: begin             qFilter.Close;             qFilter.SQL.Clear;             qFilter.SQL.Add('SELECT ID, TEL, NAM, UL, D, K, MEMO FROM "Tel_db.DB" Tel_db WHERE UPPER(nam) LIKE '+QuotedStr(s));             qFilter.Prepare;             qFilter.Open;           end;        2: begin             if edDom.Text = '' then edDom.Text:='*';             if edKvart.Text = '' then edKvart.Text:='*';             dom:=StringReplace(edDom.Text,'*', '%', [rfReplaceAll]);             kv:=StringReplace(edKvart.Text,'*', '%', [rfReplaceAll]);             qFilter.Close;             qFilter.SQL.Clear;             qFilter.SQL.Add('SELECT ID, TEL, NAM, UL, D, K, MEMO FROM "Tel_db.DB" Tel_db WHERE UPPER(ul) LIKE '+QuotedStr(s)+' AND D LIKE '+QuotedStr(Dom)+ ' AND K LIKE '+QuotedStr(kv));             qFilter.Prepare;             qFilter.Open;           end;        3: begin             qFilter.Close;             qFilter.SQL.Clear;             qFilter.SQL.Add('SELECT ID, TEL, NAM, UL, D, K, MEMO FROM "Tel_db.DB" Tel_db WHERE UPPER(D) LIKE '+QuotedStr(s));             qFilter.Prepare;             qFilter.Open;           end;        4: begin             qFilter.Close;             qFilter.SQL.Clear;             qFilter.SQL.Add('SELECT ID, TEL, NAM, UL, D, K, MEMO FROM "Tel_db.DB" Tel_db WHERE UPPER(K) LIKE '+QuotedStr(s));             qFilter.Prepare;             qFilter.Open;           end;      end;//case      qFilter.EnableControls;      sbFilter.SimpleText:='Фильтрация закончена';    end;  end;end;highlightSyntax('delphiVhZjUy','delphi');

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование модема | api программирование | чпу программирование | программирование шпаргалки | программирование 1232 | программированию ключей | программирование под linux | электронные учебники программирование | builder c программирование | языки программирования basic | метод динамического программирования | задачи нелинейного программирования | 1с программирование скачать | алгоритмические языки программирования | delphi 7 программирование | проект программирование | borland программирование | программирование pocket pc | кнут искусство программирования | программирование памяти | c программирование скачать | Ссылки

Все про проект программирование