Описывает поля в таблице, к которым может быть получен доступ. Синтаксис имеет две версии.

SET FIELDS ON | OFF | LOCAL | GLOBAL
SET FIELDS TO [[FieldName1 [, FieldName2 ...]]
| ALL [LIKE Skeleton | EXCEPT Skeleton]]

Параметры

ON

Указывает, что доступ может быть получен только к полям, перечисленным в списке полей.
OFF

(По умолчанию) Указывает, что доступ разрешен ко все полям таблицы, открытой в текущей рабочей области.
LOCAL

Указывает, что доступ разрешен только к полям в текущей рабочей области, перечисленным в списке полей.
GLOBAL

Указывает, что доступ разрешен ко всем полям, перечисленным в списке полей независимо от того, в какой рабочей области находится таблица. Команда SET FIELDS GLOBAL позволяет получить такой доступ без использования команды SET COMPATIBLE TO DB4.
TO [ FieldName1[, FieldName2...]]

Определяет список с именами полей в текущей таблице, доступ к которым может быть получен. В следующих случаях вы должны включить в имя поля алиас:
  • Когда поле принадлежит таблице, открытой в рабочей области, отличной от текущей.

  • Когда имена полей совпадают в двух или более таблицах.

Вы можете указывать в списке поля, принадлежащие таблице, открытой в области, отличной от текущей, если используетсе алиас, записывая его перед именем поля. Тем не менее доступ к таким полям не может быть получен, если вы используете команду SET FIELDS GLOBAL или SET COMPATIBLE DB4. Список полей может содержать инструкции для создания вычисляемых полей. Вычисляемые поля содержат данные, полученные путем вычисления выражения и доступны только для чтения. Такие выражения могут быть любыми допустимыми выражениями Visual FoxPro. Доступ к вычисляемым полям не может быть осуществен, если вы используете команду SET FIELDS GLOBAL или SET COMPATIBLE DB4. Формат инструкции для создания вычисляемого поля имеет вид:
  Скопировать код
<имя вычисляемого поля> = <выражение>
Следующий пример создает вычисляемое поле с именем LOCATION:
  Скопировать код
CLOSE DATABASES
USE customer
SET FIELDS TO LOCATION = ALLTRIM(city) + ', ' + state
Здесь CITY и STATE - имена полей в выбранной таблице.
ALL
Открывает доступ ко всем полям в таблице, открытой в текущей рабочей области.
ALL LIKE Skeleton| EXCEPT Skeleton
Вы можете осуществлять выборочный доступ к полям, включая опцию LIKE или EXCEPT или обе вместе. Если вы включаете LIKE Skeleton, вы можете получить доступ к полям, имена которых удовлетворяют шаблону Skeleton. Если вы If you включаете EXCEPT Skeleton, вы можете получить доступ ко всем полям кроме тех, имена которых удовлетворяют шаблону Skeleton. Шаблон Skeleton поддерживает конструкции * и ?. Например, для доступа к полям, имена которых начинаются на буквы A и P запишите следующее:
  Скопировать код
SET FIELDS TO ALL LIKE A*,P*
Опция LIKE может объединятьсяс опцией EXCEPT:
  Скопировать код
SET FIELDS TO ALL LIKE A*,P* EXCEPT PARTNO*

Замечания

Команда SET FIELDS TO имеет эффект суммирования - объявляемые в списке команды SET FIELDS TO поля при каждом её вызове добавляются к списку ранее объявленных полей.

Использование команды SET FIELDS TO неявно выполняет команду SET FIELDS ON. Используйте команду SET FIELDS TO без указания списка полей или с опцией ALL для удаления всех полей из списка для таблицы, открытой в текущей рабочей области (чтобы открыть доступ ко всем полям таблицы).

Действие команды SET FIELDS распространяется только на текущую сессию.

От переводчика: Будьте внимательны, используя команду SET FIELDS. Например, выборка данных из таблиц при помощи команды SELECT-SQL игнорирует любые установки, сделанные SET FIELDS для таблиц, участвующих в выборке.

См. также