Возвращает имя поля в таблице по его порядковому номеру.

FIELD(nFieldNumber | cFieldName [, nWorkArea | cTableAlias [, nFlags]])

Параметры

nFieldNumber

Указывает номер поля. Если nFieldNumber равен 1, возвращается имя первого поля в таблице, если nFieldNumber равен 2, возвращается имя второго поля в таблице и т.д. Если nFieldNumber превышает количество полей в таблице, возвращается пустая строка. Имена полей возвращаются в верхнем регистре.
cFieldName

Указывает имя поля. Этот параметр используется в первую очередь для того, чтобы возвратить фактический заголовок поля, находящийся в контейнере базы данных (DBC), для чего применяется параметр nFlags=1. Если заголовок является выражением, вычисляется его значение. В противном случае возвращается значение заголовка так, как оно записано. Если выражение не может быть вычислено во время исполнения программы, возникает состояние ошибки и возвращается фактическое имя поля.
nWorkArea

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

Указывает алиас таблицы, для которой FIELD( ) возвращает имя поля. Visual FoxPro сгенерирует сообщение об ошибке, если вы укажете алиас таблицы, который не существует.
nFlags

Указывает, каким образом возвращается фактическое имя поля или заголовок поля.

nFlags Описание значения

0

Возвращает фактическое имя поля. FIELD( ) сохраняет регистр возвращаемого имени поля, если таблица включена в контейнер базы данных DBC.

1

Возвращает заголовок таблицы. Если заголовок является выражением, возвращается его вычисленное значение.

Возвращаемое значение

Символьное. Если вы опустите необязательные аргументы, FIELD( ) вернет имена полей в таблице, открытой в текущей рабочей области.

Примечания

Вы можете использовать функцию SELECT( ) чтобы определить номер текущей рабочей области nWorkArea. Вы можете использовать функцию ALIAS( ) чтобы определить алиас таблицы в текущей рабочей области для cTableAlias. Дальнейшую информацию см. Функция SELECT( ) и Функция ALIAS( ).

Пример

  Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Открывает таблицу Customer

CLEAR
FOR gnCount = 1 TO FCOUNT( ) && Цикл с перебором номеров всех полей
? FIELD(gnCount) && Отображение имени каждого поля
NEXT
?
? 'Количество полей: ' + ALLTRIM(STR(gnCount -1))

См.также