Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену по БД и СУБД.docx
Скачиваний:
13
Добавлен:
22.04.2019
Размер:
441.15 Кб
Скачать
  1. Дайте характеристику фильтрации данных в foxpro.

В 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 (см. выше).