В Visual FoxPro5.0 имеется две разновидности фильтров:
• фильтр для отбора записей по условиям, задаваемым пользователем: команда SET
FILTER TO <exprL>,см.п.4.2.1, или команда в системном меню Table/Properties при
этом откроется диалог Work Area Properties (свойства рабочей области). Здесь, в поле
Data filter, Вы “вручную” или с помощью построителя выражений Expression Builder
(см. п. 4.1.1) (кнопка […] справа от поля) можете набрать условие фильтра.
• фильтр для отбора полей по условиям, задаваемым пользователем: команда SET
FIELDS TO <fields_list>, см.п. 4.2.2 или команда в системном меню Table/Properties.
Во втором случае откроется диалог Work Area Properties (свойства рабочей области),
в котором в нижней его части в группе Allow access to (позволить доступ …)
находятся две опции: All fields in the work area (ко всем полям рабочей области) и
Only fields specified by field filter (к полям определенным в фильтре полей Field Filter).
Выберите вторую опцию и нажмите кнопку Field Filter, после чего появиться диалог
Field Picker. Слева, в этом диалоге находится список всех полей таблицы All Fields,
справа – список выбранных вами полей Selected Fields, между списками находятся
кнопки: Move – выбрать поле, All – выбрать все поля, Remove – удалить поле из списка
выбранных, Remove All – удалить все поля.
Возможно использование обеих разновидностей. Для этого нужно ввести обе
команды последовательно:
SET FILTER TO <exprL>
SET FIELDS TO <fields_list>
или обе команды выполнить в диалоге Work Area Properties.
Команда, устанавливающая фильтр, имеет форму:
SET FILTER TO <exprL>
Здесь: <exprL> - логическое условие: если <exprL> для данной записи истинно, то
запись будет восприниматься всеми командами (в том числе и командой просмотра
BROWSE). Если <exprL> ложно, то запись не воспринимается - как будто отсутствует
совсем.
Отмена прежнего фильтра происходит автоматически при установлении другого,
«свежего» фильтра.
Если нужно вообще отменить фильтры, используйте команду
SET FILTER TO (без условия <exprL>)
или удалите в диалоге Work Area Properties выражение в поле фильтра Data filter.
Команда для отбора нужных полей имеет вид:
SET FIELDS TO <fields_list>
Здесь: <fields_list> - список полей из числа имеющихся в файле, открытом в
активной области, которые пользователь хочет просмотреть, «не отвлекаясь» на
остальные поля. Перечисления в списке разделяются запятыми.
Команда, устанавливающая режим Visual FoxPro5.0, при котором поля, не
перечисленные в команде SET FIELDS TO <fields_list>,
не воспринимаются остальными командами Visual FoxPro5.0:
SET FIELDS ON
Команда, отменяющая этот режим:
SET FIELDS OFF
или в диалоге Field Picker удалить все поля из списка выбранных.
Команда, восстанавливающая полный список полей в режиме включенного
фильтра полей (SET FILTER ON):
SET FIELDS TO ALL
или в диалоге Work Area Properties опция All fields in the work area (см. выше).