Condividi tramite


IDXCOLLATE( ) Function

Returns the collation sequence for an index or index tag.

IDXCOLLATE([cCDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])

Return Values

Character

Parameters

  • cCDXFileName
    Specifies the name of the compound index file. The compound index file you specify can be the structural compound index file automatically opened with the table or an independent compound index file.

  • nIndexNumber
    Specifies the index or index tag for which IDXCOLLATE( ) returns the collation sequence. IDXCOLLATE( ) returns the collation sequence for indexes and index tags in the following order as nIndexNumber increases from 1 to the total number of open index files and index tags:

    1. Collation sequences for single-entry .idx index files (if any are open) are returned first. The order in which the single-entry index files are included in USE or SET INDEX determines how the collation sequences are returned.
    2. Collation sequences for tags in the structural compound index (if one is present) are returned next. The collation sequences are returned for the tags in the order in which the tags are created in the structural compound index.
    3. Collation sequences for tags in any open independent compound indexes are returned last. The collation sequences are returned for the tags in the order in which the tags are created in the independent compound indexes.

    The empty string is returned if nIndexNumber is greater than the total number of open single-entry .idx files and structural compound and independent compound index tags.

  • nWorkArea
    Specifies the work area of the table for which IDXCOLLATE( ) returns index file and index tag collation sequences.

    IDXCOLLATE( ) returns the empty string if a table isn't open in the work area you specify.

  • cTableAlias
    Specifies the alias of the table for which IDXCOLLATE( ) returns index file and index tag collation sequences.

    Visual FoxPro generates an error message if you specify a table alias that doesn't exist.

Remarks

IDXCOLLATE( ) can be used to return the collation sequence for each tag in multiple-entry compound index files, allowing you to completely delete an index file and rebuild it correctly, using a series of SET COLLATE and INDEX commands.

Note that IDXCOLLATE( ) isn't required for the proper functioning of REINDEX, because the collation sequence information is present in existing indexes and index tags.

For additional information about Visual FoxPro's international support, see Developing International Applications.

Example

The following example opens the customer table in the testdata database. FOR ... ENDFOR is used to create a loop in which IDXCOLLATE( ) is used to display the collation sequence of each index tag in the customer structural index. The name of each structural index tag is displayed with its collation sequence.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table
CLEAR

FOR nCount = 1 TO 254
   IF !EMPTY(TAG(nCount))  && Checks for tags in the index
   ? TAG(nCount) + ' '  && Display tag name
   ?? IDXCOLLATE(nCount)  && Display collation sequence
   ELSE
      EXIT  && Exit the loop when no more tags are found
   ENDIF
ENDFOR

See Also

SET COLLATE | Developing International Applications | INDEX Command