ORDKEYVAL()
 Obtiene el valor de la clave del registro actual en el orden de control
------------------------------------------------------------------------------
 Sintaxis

     ORDKEYVAL() --> uValorClave

 Devuelve

     ORDKEYVAL() devuelve el valor de la clave del registro actual. El tipo
     de datos del valor devuelto es el mismo que el de la expresión clave
     utilizada para crear el orden. Utilice VALTYPE() para averiguar el tipo
     de datos.

     ORDKEYVAL() devuelve NIL si:

      No existe orden de control

      El puntero del registro está situado al final del fichero
        (EOF() devuelve el valor verdadero (.T.))

      El registro no tiene clave (por ejemplo, si el puntero del
        registro está situado en un registro que no satisface la condición
        FOR del orden o queda fuera del ámbito especificado)

 Descripción

     El valor clave se recupera del orden de control, no del fichero de base
     de datos. Esto agiliza la recuperación del valor ya que no se necesita
     acceder al registro actual.

     Consejo: ORDKEYVAL() es bastante rápida, pero en el caso de que
     vaya a utilizar el valor de la clave varias veces, es preferible
     almacenar el valor de la clave en una variable local, y utilizarla en
     vez de llamar repetidamente a ORDKEYVAL().

     Por defecto, esta función opera en el área de trabajo seleccionada. Si
     desea utilizarla en otra área de trabajo, debe especificarla con una
     expresión de alias.

 Ejemplos

      Este ejemplo visualiza los valores de todas las claves de un
        orden sin leer los registros individuales en memoria:

        FUNCTION MOSTRARCLAVES()
           LOCAL cClave, cNombre, cApellido

           USE Cliente
           // Se supone que el tamaño de Nombre y Apellidos
           // es de 20 caracteres
           INDEX ON Apellidos + Nombre TO ApellNomb

           DO WHILE !Cliente->EOF()
              cClave := Cliente->ORDKEYVAL()           // Obtiene el
                                                       // valor de la clave
              cApellido := LEFT(cClave, 20)            // Obtiene el
                                                       // apellido
              cNombre := RIGHT(cClave, 20)             // Obtiene el nombre

              ? cApellido, cNombre
              Cliente->DBSKIP()
           ENDDO

           CLOSE

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: ORDSCOPE()