Share via


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

Vea también

INDEX | SET INDEX | SET ORDER | USE