IDXCOLLATE( ) (Función)
Devuelve la secuencia de ordenación para un índice o una etiqueta de índice.
IDXCOLLATE([cCDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])
Valores devueltos
Character
Parámetros
cCDXFileName
Especifica el nombre del archivo de índice compuesto. El archivo de índice compuesto que especifique puede ser el archivo de índice compuesto estructural abierto automáticamente con la tabla o un archivo de índice compuesto independiente.nIndexNumber
Especifica el índice o la etiqueta de índice cuya secuencia de ordenación devuelve IDXCOLLATE( ). IDXCOLLATE( ) devuelve la secuencia de ordenación para los índices y las etiquetas de índice en el orden indicado a continuación a medida que nIndexNumber aumenta desde 1 hasta el número total de archivos de índice abiertos y de etiquetas de índice:- Primero se devuelven las secuencias de ordenación para archivos de índice .idx de una sola entrada (si hay alguno abierto). El orden en el que se incluyen los archivos de índice de una sola entrada en USE o SET INDEX determina la forma en que se devuelven las secuencias de ordenación.
- A continuación se devuelven las secuencias de ordenación para las etiquetas del índice compuesto estructural (si existe alguna). Las secuencias de ordenación para las etiquetas se devuelven en el orden de creación de dichas etiquetas en el índice compuesto estructural.
- Por último se devuelven las secuencias de ordenación para las etiquetas de cualquier índice compuesto independiente que haya abierto. Las secuencias de ordenación para las etiquetas se devuelven en el orden de creación de dichas etiquetas en los índices compuestos independientes.
Se devuelve la cadena vacía en caso de que nIndexNumber sea mayor que el número total de archivos .idx de una sola entrada abiertos más el número de etiquetas de índice compuesto estructural y compuesto independiente.
nWorkArea
Especifica el área de trabajo de la tabla cuyas secuencias de ordenación de archivo de índice y de etiqueta de índice devuelve IDXCOLLATE( ).IDXCOLLATE( ) devuelve la cadena vacía si no hay ninguna tabla abierta en el área de trabajo especificada.
cTableAlias
Especifica el alias de la tabla cuyas secuencias de ordenación de archivo de índice y de etiqueta de índice devuelve IDXCOLLATE( ).Visual FoxPro genera un mensaje de error si especifica un alias de tabla que no existe.
Observaciones
IDXCOLLATE( ) se puede utilizar para devolver la secuencia de ordenación para cada etiqueta de archivos de índice compuesto de múltiples entradas, lo que permite eliminar por completo un archivo de índice y volver a generarlo correctamente, utilizando una serie de comandos SET COLLATE e INDEX.
Observe que IDXCOLLATE( ) no es necesario para el funcionamiento correcto de REINDEX, puesto que la información de la secuencia de ordenación está presente en los índices y las etiquetas de índice existentes.
Para obtener información adicional acerca de la compatibilidad con versiones internacionales de Visual FoxPro, vea Desarrollar aplicaciones internacionales.
Ejemplo
El ejemplo siguiente abre la tabla customer
de la base de datos testdata
. FOR ... ENDFOR se utiliza para crear un bucle en el que se muestra la secuencia de intercalación de cada etiqueta de índice del índice estructural customer
mediante IDXCOLLATE( ). El nombre de cada etiqueta de índice estructural se muestra con su secuencia de intercalación.
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
Vea también
SET COLLATE | Desarrollar aplicaciones internacionales | INDEX (Comando)