Применение фильтров в программе

Фильтры позволяют отфильтровать в таблице или в отчете записи, удовлетворяющие определенным условиям. В программе имеется два вида фильтров:

1) В любом окне, содержащем какую либо таблицу, работает «Быстрый фильтр». При помощи «Быстрого фильтра» можно отфильтровать все записи, которые содержат заданную подстроку в любом из строковых полей таблицы. Вызывается «Быстрый фильтр» при  помощи комбинации клавиш <Ctrl+Shift+F> (раскладка клавиатуры должны быть латинской). При этом появляется окно, в котором в поле «Искать» нужно ввести искомую подстроку и нажать кнопку [Включить фильтр].  После окончания поиска важно не забыть отключить фильтр: <Ctrl+Shift+F> и затем кнопка [Отключить].

Окно Быстрого фильтра программы SwimBase

2) Настраиваемый фильтр, который вызывается нажатием на кнопку [Фильтры], расположенную справа от поля «Фильтр» в верхней части окна. Эта кнопка открывает окно «ФИЛЬТРЫ» со списком заранее написанных фильтров, относящихся к данной таблице. Нажатие на кнопку [Выбрать] в окне «ФИЛЬТРЫ» включает выбранный фильтр. При этом название фильтра видно в поле «Фильтр» в верхней части окна (над таблицей). Если записей в таблице очень много, то после включения фильтра может быть достаточно долгий период ожидания - пока программа просмотрит все записи и отфильтрует из них записи, удовлетворяющие условию фильтра. Те же самые фильтры используются также и при печати различных отчетов и списков, что очень сильно повышает полезность отчетов.

Окно "ФИЛЬТРЫ" предназначено для редактирования и выбора фильтров, применяемых для поиска и ограничения диапазона видимых записей. Фильтры могут добавляться в программу самими пользователями по мере необходимости. Окно "ФИЛЬТРЫ" показывает только фильтры, относящиеся к той таблице, из которой оно было вызвано. (То есть, в разных таблицах фильтры разные).

Окно ФИЛЬТРЫ программы для судейства соревнований по плаванию

Пример окна "ФИЛЬТРЫ" для таблицы "ЛЮДИ".

- Кнопка выбора фильтра

Добавление, изменение и удаление записей в таблице Фильтры производится при помощи следующих кнопок, расположенных в верхней части окна:

- Добавить новую запись о фильтре
- Изменить (открыть) существующую запись
- Удалить запись о фильтре
- Создать новую запись на основе существующей (копировать старую запись в новую) Кнопки перемещения записей в таблице - Кнопки для упорядочивания (перемещения) записей в списке фильтров.

Окно записи о фильтре:

Окно ФИЛЬТР программы SwimBase

Назначение полей и кнопок окна ФИЛЬТР:

  • Таблица - Название таблицы, для которой будет применяться данный фильтр. Это поле заполняется автоматически и его изменить нельзя.
  • Номер     - Порядковый номер фильтра в списке
  • Фильтр   - Название фильтра, по которому он будет выбираться конечным пользователем
  • Выражение - Выражение фильтра на языке Clarion. После вычисления выражение должно принимать значение "Истина" или "Ложь" (0). Если выражение принимает значение "Истина" (не равно нулю), то условие фильтра считается выполненным и запись будет показана в таблице или в отчете.

В выражениях можно применять операторы и функции языка Clarion. Приоритет логических операторов ("and", "or", "not") ниже чем у арифметических операторов ("+", "-", "*", "/"), причем у оператора "логическое ИЛИ" ("or") приоритет ниже чем у оператора "логическое И" ("and"). Если вы не уверены в каком порядке будут выполняться операторы, рекомендуем для явного задания порядка выполнения широко применять скобки "(" и ")".

Чтобы правильно писать фильтры нужно знать обозначения полей базы данных программы. Эти обозначения видны, если подвести курсор мышки к любому полю в окне программы. Например, в окне «СПОРТСМЕН» поле «Год рождения» имеет обозначение peo:Year.

Для написания фильтров нужно хотя бы немного знать язык Clarion (операторы, функции) и иметь "математический" склад мышления. Поэтому, часто пользователям программы трудно самостоятельно написать нужный фильтр. Если вам нужны какие-либо новые фильтры, то проще всего сделать их с нашей помощью. Для этого нужно как можно точнее сформулировать, что именно нужно от фильтра. При этом нужно иметь в виду, что фильтр можно сделать только на основе значений тех полей, которые есть в данной таблице (например в таблице "Люди"). Поэтому не любую задачу можно решить при помощи фильтров.

Список фильтров постоянно пополняется. (И вы можете самостоятельно добавлять нужные вам фильтры). 

Вот некоторые полезные фильтры для таблицы "Спортсмены":

Название фильтра Выражение фильтра
Спортсмены "мс" и "мсмк" peo:SManFlag and (peo:Kval='мс' or peo:Kval='мсмк')
Все "мс" peo:SManFlag and peo:Kval='мс'
Девушки 8 лет peo:Gender='D'  and peo:SManFlag  and  (year(today()) - peo:Year) <= 8
Девушки 9-10 лет peo:Gender='D'  and peo:SManFlag  and  (year(today()) - peo:Year) >=9  and  (year(today()) - peo:Year) <=10
Девушки 11-13 лет peo:Gender='D'  and peo:SManFlag  and  (year(today()) - peo:Year) >=11  and  (year(today()) - peo:Year) <=13
Девушки 14-15 лет peo:Gender='D'  and peo:SManFlag  and  (year(today()) - peo:Year) >=14  and  (year(today()) - peo:Year) <=15
Девушки 16-18 лет peo:Gender='D'  and peo:SManFlag  and  (year(today()) - peo:Year) >=16  and  (year(today()) - peo:Year) <=18
Женщины (>18 лет) peo:Gender='D'  and peo:SManFlag  and  (year(today()) - peo:Year) >=19
Юноши 8 лет peo:Gender='M'  and peo:SManFlag  and  (year(today()) - peo:Year) <= 8
Юноши 9-10 лет peo:Gender='M'  and peo:SManFlag  and  (year(today()) - peo:Year) >=9  and  (year(today()) - peo:Year) <=10
Юноши 11-13 лет peo:Gender='M'  and peo:SManFlag  and  (year(today()) - peo:Year) >=11  and  (year(today()) - peo:Year) <=13
Юноши 14-15 лет peo:Gender='M'  and peo:SManFlag  and  (year(today()) - peo:Year) >=14  and  (year(today()) - peo:Year) <=15
Юноши 16-18 лет peo:Gender='M'  and peo:SManFlag  and  (year(today()) - peo:Year) >=16  and  (year(today()) - peo:Year) <=18
Мужчины (>18 лет) peo:Gender='M'  and peo:SManFlag  and  (year(today()) - peo:Year) >=19
Эстафетные команды peo:RelayFlag
   

 

 

×
Скачать "Прокат-Эксперт"

Чтобы скачать программу "Прокат-Эксперт" нужно зарегистрироваться: