FIELD( ) Function
Returns the name of a field, referenced by number, in a table.
FIELD(nFieldNumber | cFieldName [, nWorkArea | cTableAlias [, nFlags]])
Parameters
nFieldNumber
Specifies the field number. If nFieldNumber is 1, the name of the first field in the table is returned; if nFieldNumber is 2, the name of the second field is returned, and so on. The empty string is returned if nFieldNumber is greater than the number of fields. Field names are returned in upper case.cFieldName
Specifies the name of a field. This is used primarily to retrieve the actual field caption as stored in a database container (DBC) when used with the nFlags parameter.If the field caption is an expression (=), the expression is evaluated. Otherwise, the actual string literal is returned. If the expression cannot be evaluated at run time, an error is raised, and the actual field name is returned.
nWorkArea
Specifies the work area of the table for which FIELD( ) returns field names.FIELD( ) returns the empty string if a table is not open in the work area you specify.
cTableAlias
Specifies the alias of the table for which FIELD( ) returns field names.Visual FoxPro generates an error message if you specify a table alias that does not exist.
nFlags
Specifies whether the actual field name or field caption is returned.nFlags
Value description
0
Return actual field name.
FIELD( ) preserves the case of the returned field name, as long as the table is stored in a DBC.
1
Return field caption. If the field caption is an expression, return its evaluated value.
Return Value
Character data type. If you omit the optional arguments, FIELD( ) returns the names of the fields in the table open in the currently selected work area.
Remarks
You can use the SELECT( ) function to determine the current work area for nWorkArea. You can use the ALIAS( ) function to determine the alias of the table in the current work area for cTableAlias. For more information, see SELECT( ) Function and ALIAS( ) Function.
Example
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
CLEAR
FOR gnCount = 1 TO FCOUNT( ) && Loop for number of fields
? FIELD(gnCount) && Display each field
NEXT
?
? 'Number of fields: ' + ALLTRIM(STR(gnCount -1))