Obtaining Name of Current Index Key Field

ID: Q98353

The information in this article applies to:

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 "CNO", 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

REFERENCES

"Commands & Functions," version 2.0 "Language Reference," version 2.5

Additional reference words: FoxDos FoxWin 2.00 2.50 2.50a KBCategory: kbprg KBSubcategory: FxprgGeneral

Last Reviewed: June 27, 1995