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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2011, 20:51   #1
trigger
 
Регистрация: 09.11.2010
Сообщений: 6
По умолчанию Фильтр ячеек таблицы Delphi -

Есть база в Paradox
Есть форма в Delphi
В форме прописаны фильтрации - через if CheckBox2.Checked=true then
т.е.

к примеру нужно нам отсортировать студентов группы или по определенному номеру билета отфильтровать студентов - включаем чек бокс

-
В чем сложность - нужно отсортировать студентов , родившихся в январе и декабре
if CheckBox1.Checked=true then
Accept:=monthOf(StudTable.FieldValu es['DR'])=12; такая конструкция только один месяц дает сортировать ...
Встал ...
Спасибо за любую помощь
Все исходники приложены
Вложения
Тип файла: rar BD1.rar (332.4 Кб, 25 просмотров)
trigger вне форума Ответить с цитированием
Старый 25.01.2011, 07:00   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Тут половину условий можно перенести в FILTER для ускорения фильтрации, с вычислениями месяца кажется в фильтре не получится поэтому оставить в обработчике onfilterrecord, только немного изменить. Как пример 1 и 12 месяц
Код:
if CheckBox1.Checked=true then
 Accept:=(monthOf(StudTable.FieldValues['DR']) in [1,12]);
воличество месяцев конечное, и заранее известно, так что вообще лучше сделать выбор из 12 месяцев тех которые нужны.
остальное перенести в фильтр прочитайте про фильтр там не сложно. Вот из хелпа
Цитата:
Свойства, обеспечивающие фильтрацию набора данных
Класс TDataSet

Определения
property Filter: string;
property Filtered: Boolean;

Описание
Фильтрация задается свойствами Filter, Filtered и FilterOptions.
При наличии фильтра доступными становятся только те записи, поля которых удовлетворяют условиям фильтрации. Свойство Filtered включает или выключает использование фильтра. Свойство FilterOptions задает опции фильтрации. А сам фильтр записывается в свойство Filter в виде строки, содержащей определенные ограничения на значения полей. Например, значение Filter

Dep='Цех 1'

при Filtered = true, обеспечивает отображение только тех записей, в которых поле Dep имеет значение "Цех 1". В условиях сравнения строк можно использовать символ звездочки "*", который как в обычных шаблонах означает: "любое количество любых символов". Например, фильтр

Dep='Цех*'

приведет к отображению всех записей, в которых значение поля Dep начинается с "Цех". Но для того, чтобы это сработало, надо, чтобы в опциях, содержащихся в свойстве FilterOptions, была выключена опция foNoPartialCompare, запрещающая частичное совпадение при сравнении.

При записи условий можно использовать операции отношения =, >, >=, <, <=, <>, а также логические операции and, or и not. Например, вы можете написать фильтр

(Dep='Цех 1')and(Year_b<=1970)and(Year_b>=194 0)

и отобразятся записи сотрудников цеха 1, чей год рождения лежит в заданных пределах. Но использовать в фильтре имена вычисляемых полей не разрешается.

При фильтрации пустые записи пропускаются, если только их появление не указано в фильтре явным образом, как в следующем примере:

Dep='Цех*' or Dep = NULL

Фильтрация на удаленных таблицах SQL и в клиентских наборах данных поддерживает сравнение полей. Например:

Field1 > Field2

Эта операция не поддерживается в локальных таблицах (Paradox, dBASE, Access, FoxPro).
потом разберитесь с включением-выключением фильтрации, скорее всего придётся перенести включение выключение в 1 обработчик, где проверять состояние всех чекбоксов.

Последний раз редактировалось vovk; 25.01.2011 в 07:03.
vovk вне форума Ответить с цитированием
Старый 28.01.2011, 04:51   #3
trigger
 
Регистрация: 09.11.2010
Сообщений: 6
По умолчанию

Спасибо !!!
trigger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр таблицы данных, по определённым данным... holy_androny Microsoft Office Excel 8 19.10.2010 16:49
Фильтр столбца таблицы Доктор Microsoft Office Excel 1 16.06.2010 11:23
вычисляемые объекты в сводной таблице отключают фильтр самой таблицы ритузы Microsoft Office Excel 0 21.04.2010 09:24
Фильтр таблицы по нескольким параметрам MarinaB Помощь студентам 1 28.08.2009 08:17