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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2007, 21:02   #1
VVk
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 27
По умолчанию ошибка с FilterOptions в ADODataSet (FilterOption are not suppoted)

ника не могу понять в чом ошибка...
ниже код где надо изминіть параметри филтрации

if Form1.CheckListBox1.Checked[0] then
tblVikladachi.FilterOptions:=[foCaseInsensitive];

if Form1.CheckListBox1.Checked[1] then
tblVikladachi.FilterOptions:=[foNoPartialCompare];

if (Form1.CheckListBox1.Checked[0] and Form1.CheckListBox1.Checked[1]) then
tblVikladachi.FilterOptions:=[foNoPartialCompare,foCaseInsensitiv e]

но во время испольнения ошибка: FilterOption are not suppoted, яне могу понять що она можеть означать. Перед етим свойство Filtered:=true и филторавть я ищо не успил...

Очень блакадарен.
VVk вне форума Ответить с цитированием
Старый 08.12.2007, 00:39   #2
Udaf_Alex
 
Регистрация: 19.11.2007
Сообщений: 8
По умолчанию

По-моему, устанавливать опции фильтра и изменять его значение можно только при выключенной фильтрации:

Код:
tblVikladachi.Filtered:=False; // выключить фильтр

// установить нужные опции
if Form1.CheckListBox1.Checked[0] then
tblVikladachi.FilterOptions:=[foCaseInsensitive]; 

if Form1.CheckListBox1.Checked[1] then
tblVikladachi.FilterOptions:=[foNoPartialCompare];

if (Form1.CheckListBox1.Checked[0] and Form1.CheckListBox1.Checked[1]) then
tblVikladachi.FilterOptions:=[foNoPartialCompare,foCaseInsensitive]

// включить фильтр
tblVikladachi.Filtered:=True;

У меня подобный код работает нормально;) .

P.S. Можно записать короче:) :

tblVikladachi.Filtered:=False; // выключить фильтр

// установить или отключить нужные опции
if Form1.CheckListBox1.Checked[0] 
  then 
     tblVikladachi.FilterOptions:=tblVikladachi.FilterOptions+[foCaseInsensitive]
  else
    tblVikladachi.FilterOptions:=tblVikladachi.FilterOptions-[foCaseInsensitive];

if Form1.CheckListBox1.Checked[1] 
 then
  tblVikladachi.FilterOptions:=tblVikladachi.FilterOptions+[foNoPartialCompare]
 else
  tblVikladachi.FilterOptions:=tblVikladachi.FilterOptions-[foNoPartialCompare];

tblVikladachi.Filtered:=False; // выключить фильтр

Последний раз редактировалось Alex21; 08.12.2007 в 01:23. Причина: для оформления кода используем тег или кнопку #code
Udaf_Alex вне форума Ответить с цитированием
Старый 08.12.2007, 17:00   #3
VVk
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 27
Сообщение нинаю...

не хочеть работать
ругает как только встретить код, или аналог:
Код:
 tblVikladachi.FilterOptions:=tblVikladachi.FilterOptions+[foCaseInsensitive]
визможно что то зависит от бази...

У меня база Access... технология ADO: TADOConection -> TADODataSet -> TDataSource связани и подклбчени к DBGrid.

DBGrid на форме, все решта в DataModule, процедура измининия параметров филтрированя в DataModule и визиваэтся по нажатию бутона на форми.
VVk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отобразить в dbgrid результат выполнения commandText двух adodataset? Гузель БД в Delphi 2 13.08.2008 16:17
2 проблемы: вставка в ADODataset и с ADOQuery Шани БД в Delphi 18 23.07.2008 20:38
свойство ADOdataSET.CommandTimeout не работает _liv_ БД в Delphi 0 30.10.2007 14:54
ADODataSet: cannot modify a read-only dataset cvetochek Помощь студентам 2 29.10.2007 14:49
idudpserver+mssql+adodataset vodila БД в Delphi 1 11.08.2007 09:56