Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

Фильтрация <B>FIBDataSet</B>   Найти похожие ветки 

 
ANDR   (2003-01-30 19:31) [0]

Добрый вечер. Просветите, возможно-ли используя локальную
фильтрацию в FIBDataSet задать условие фильтрации, получить
отфильтрованный датасет, а затем задать еще одно условие, но
чтобы фильтровались только записи отобранные по первому условию.


 
Andriano   (2003-01-31 07:56) [1]

С помощью события OnFilterRecord можно состряпать фильтр ЛЮБОЙ сложности.

Говоришь:
filtered:=false;
filtered:=true;
И FIBDataSet перефильтруется.


 
ANDR   (2003-01-31 09:56) [2]

Спасибо, это понятно, вопрос в другом.
При OnFilterRecord условие фильтра применяется для каждой
записи датасета. Возможно-ли вызывать OnFilterRecord только
для тех записей котщрые вернуло предыдущ OnFilterRecord.
Например.

ДИНАМО МОСКВА
СПАРТАК МОСКВА
ДИНАМО КИЕВ

ФИЛЬТР-ДИ ДИНАМО МОСКВА
ДИНАМО КИЕВ

ФИЛЬТР-МО ДИНАМО МОСКВА
СПАРТАК МОСКВА

А надо после "МО" получить только: ДИНАМО МОСКВА


 
Asgard   (2003-01-31 12:45) [3]

Для такого случая есть предложение каждый раз перестраивать select в соответствии с историей изменения фильтра.


 
ShuraGrp   (2003-01-31 13:05) [4]

А условие Filter не подходит. Работает С версии 4.6


 
KDS   (2003-01-31 15:05) [5]

ТипаДатаСет.Filter:="(УсловиеФильтрации№1)and(УсловиеФильтрации№2)";
И все дела тут


 
ANDR   (2003-01-31 17:43) [6]

Правду говорят что надо учиться задавать вопросы.

Asgard (31.01.03 12:45)
> Для такого случая есть предложение каждый раз перестраивать
> select в соответствии с историей изменения фильтра.

Понятно, но не хочется нагружать сервер.

Пример от фонаря и наверное все подумали что там два столбца?

В реальной базе список клиентов.

**************************************
* ClNAME *
**************************************
ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ
ЧП МЕТАЛЛСЕРВИС
ЗАВОД ФЕРРОСПЛАВОВ
ООО МЕТАЛЛИСТ
ЗАВОД ТРУБОЛИТ
и т.д.

ТипаДатаСет.Filter:= ИМХО работает частичным совпадением только
от начала строки

OnFilterRecord с Accept:=pos( ) бысто выбирает любую подстроку,но вызывается для каждой записи, а желается
от лени ввести в Edit "ЗАВ" и получить:

ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ
ЗАВОД ФЕРРОСПЛАВОВ
ЗАВОД ТРУБОЛИТ что и получаем

потом ввести "МЕТ" и получить

ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ

а получаем

ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ
ЧП МЕТАЛЛСЕРВИС
ООО МЕТАЛЛИСТ

Может как-то настраивается или пусть авторы фибов напрягаются
массив в pos() передавать. Уплочено-ж.








Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
3-52775
Gaber
2003-01-30 19:22
2003.02.17
IB компоненты


14-53216
Delirium^.Tremens
2003-01-31 14:35
2003.02.17
Кадровая политика vs Национальный вопрос


1-52819
SinnerPro
2003-02-07 07:14
2003.02.17
Удаление файла


14-53264
Nick_N_A
2003-01-29 06:56
2003.02.17
Частотный анализ звука


1-53061
jiura
2003-02-06 17:11
2003.02.17
Скрытие MDiChild





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский