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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2008, 18:57   #1
Инночка
Пользователь
 
Регистрация: 19.04.2008
Сообщений: 10
Радость Фильтр

Привет всем!
У меня ни как не получается фильтрование данных, пишит вот такую ошибку: 'Filter cannot be used for detail tables'
Код:
begin
If Length(C1.Text)>0 then
Form8.TableOcenki.Filtered:=True
else Form8.TableOcenki.Filtered:=False;
Form8.TableOcenki.Filter:='Semestr> '''+C1.Text+'''';
end;
Если кто знает помогите пожалуйста.
Инночка вне форума Ответить с цитированием
Старый 29.04.2008, 08:22   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата из книги Флёнова "Бииблия программиста"

Для поиска в компоненте TADOTable есть свойство Filter. В нём можно указывать
условие, по которому будут отображаться данные. Например, ты можешь указать там
отображение только записей, в которых поле «Фамилия» содержит значение «Сидоров».
Но для того, чтобы фильтр заработал, надо ещё установить свойство Filtered нашей
таблицы в true. После этого можно изменять свойство Filter и все изменения сразу же
будут вступать в силу.
Свойство Filter – это строка. В ней нужно писать текст условия в виде:
Поле [Оператор сравнения] ‘Значение’
Например, если ты хочешь отобразить все записи, в которых поле «Фамилия» равно
значению «Сидоров», то нужно написать:
AdoTable1.Filter:=’Фамилия=’’Сидоро в’’’;
Обрати внимание, что значение нужно указывать в одинарных кавычках. Но так как
одинарные кавычки используются в Delphi для ограничения строк, то тут приходиться
немного включить соображение. Чтобы внутри строки поставить одинарную кавычку, её
нужно поставить дважды:
‘После этого текста будет одинарная кавычка’’ это продолжение текста’
Именно таким способом я ставлю перед значением одинарную кавычку. После
значения мне нужно поставить одинарную кавычку и закрыть строку, поэтому я ставлю
три одинарных кавычки (две для того, чтобы поставить кавычку для значения и одна для
конца строки).
Это был пример простейшего условие на равенство. Ты можешь использовать любые
другие операторы сравнения (больше или меньше). А можно даже создавать составные
операторы сравнения, в которых сравнивается сразу два или более значений. Например:
AdoTable1.Filter:=’Фамилия=’’Сидоро в’’ or Телефон=’’3326523’’’;
SERG1980 вне форума Ответить с цитированием
Старый 29.04.2008, 18:30   #3
Инночка
Пользователь
 
Регистрация: 19.04.2008
Сообщений: 10
По умолчанию

не работает
такую же ошибку выдает
Инночка вне форума Ответить с цитированием
Старый 29.04.2008, 23:29   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Инночка, я не спец, но, похоже, вы используете связь таблиц "Master - Detail" и для подчинённой таблицы нельзя задавать фильтрацию (если я правильно понял сообщение об ошибке!).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.04.2008, 20:27   #5
Инночка
Пользователь
 
Регистрация: 19.04.2008
Сообщений: 10
По умолчанию

Так и есть, ой спасибо. Нужно что нибудь другое прдумать.
Инночка вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр приложений One.Love Общие вопросы Delphi 7 08.09.2008 01:10
Запрос или Фильтр wolfik0 БД в Delphi 3 02.05.2008 04:42
Фильтр в базе Versifikator БД в Delphi 3 18.04.2008 10:35
фильтр в DBGrid ГОСЕАН БД в Delphi 10 09.02.2008 12:51
Фильтр и поиск emfw БД в Delphi 1 11.03.2007 11:01