DESCENDING( ) (Función)
Devuelve un valor lógico que indica si una etiqueta de índice se creó con la palabra clave DESCENDING o si la palabra clave DESCENDING se incluyó en USE, SET INDEX o SET ORDER.
DESCENDING([CDXFileName[, nIndexNumber [, nWorkArea | cTableAlias]]])
Valores devueltos
Logical
Parámetros
CDXFileName
Puede especificar el nombre de un archivo de índice compuesto con CDXFileName. 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 la etiqueta de índice o el archivo de índice que comprueba DESCENDING( ). nIndexNumber normalmente es un entero que comienza en 1 y va aumentando en 1 para devolver valores adicionales para cada etiqueta de índice.Si nIndexNumber es 1, devolverá un valor para el archivo de índice maestro .idx de una sola entrada o para la etiqueta de índice maestro (si hay alguna).
A medida que nIndexNumber aumenta, se devuelven valores para cada etiqueta del índice compuesto estructural (si hay alguna). Los valores para las etiquetas se devuelven en el orden en que se crearon dentro del índice compuesto estructural.
Una vez que se devuelven los valores para todas las etiquetas del índice compuesto estructural, se devuelven valores para cada etiqueta de cualquier índice compuesto independiente que esté abierto. Los valores se devuelven de las etiquetas en el orden en que se crearon en los índices compuestos independientes.
Devuelve la cadena vacía en el caso de que nIndexNumber sea mayor que el número total de archivos .idx de una sola entrada abiertos más las etiquetas de índice compuesto estructural y compuesto independiente.
nWorkArea | cTableAlias
Devuelve valores para archivos de índice o etiquetas abiertos en un área de trabajo distinta de la actual. nWorkArea especifica el número de área de trabajo y cTableAlias especifica el alias de la tabla.Si ninguna tabla tiene el alias especificado, Visual FoxPro mostrará un mensaje de error.
Observaciones
Puede ordenar los registros de una tabla en sentido descendente de dos formas:
- Puede incluir la palabra clave DESCENDING en el comando INDEX para crear una etiqueta de índice de orden descendente en un .cdx compuesto.
- Puede incluir la palabra clave DESCENDING en USE, SET INDEX o SET ORDER para especificar un orden descendente para la etiqueta de índice maestro o para el archivo de índice maestro (.idx) de una sola entrada.
DESCENDING( ) puede determinar si una etiqueta de índice se creó en orden descendente. DESCENDING( ) devuelve verdadero (.T.) si la etiqueta de índice especificada se creó con la palabra clave DESCENDING.
DESCENDING( ) también puede determinar si la etiqueta o el archivo de índice maestro está en orden descendente. DESCENDING( ) devuelve verdadero (.T.) si se incluyó la palabra clave DESCENDING en USE, SET INDEX o SET ORDER para la etiqueta de índice maestro o para un archivo de índice (.idx) de una sola entrada que especifique.
Si no incluye ninguno de los argumentos opcionales, DESCENDING( ) devolverá un valor para la etiqueta o el archivo de índice maestro. Si no incluye ninguno de los argumentos opcionales y no hay ninguna etiqueta ni ningún archivo .idx maestro activos (por ejemplo, si ha ejecutado SET ORDER TO para colocar la tabla en el orden físico de los registros), DESCENDING( ) devolverá falso (.F.).
Ejemplo
El ejemplo siguiente abre la tabla customer
de la base de datos testdata
. Se usa FOR ... ENDFOR para crear un bucle en el que se comprueba el estado descendente de cada etiqueta de índice del índice estructural customer
. Se muestra el nombre de cada etiqueta de índice estructural con su estado descendente.
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) + ' Descending? ' && Display tag name
?? DESCENDING(nCount) && Display descending status
ELSE
EXIT && Exit the loop when no more tags are found
ENDIF
ENDFOR