Microsoft KB Archive/98353

{| = Obtaining Name of Current Index Key Field =
 * width="100%"|

ID: Q98353

The information in this article applies to:


 * Microsoft FoxPro for Windows, versions 2.5 and 2.5a
 * Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, and 2.5a

Using SYS(21) to obtain the current index key field returns a number, not a field name, because SYS(21) returns a character string containing the current key's number position in the index file.

To return the current index key expression, the string returned by SYS(21) must be converted to a numeric value using the VAL function, then passed to the KEY function. For example, the following code displays &quot;CNO&quot;, which is the index expression for the index tag cust_num:

USE CUSTOMER           && CUSTOMER.DBF contains the field 'CNO'. DELETE TAG ALL         && Removes any current tags from the index. INDEX ON CNO TAG CUST_NUM ADDITIVE SET ORDER TO CUST_NUM x=KEY(VAL(SYS(21))) ? x