FIELDNAME( )/FIELD( )

 Devuelve un nombre de campo del fichero (.dbf) actual

Sintaxis

     FIELDNAME/FIELD(<nPosición>) –> cNombreCampo

Argumentos

<nPosición> es la posición de un campo en la estructura del fichero de base de datos.

Devuelve

FIELDNAME() devuelve el nombre del campo especificado como una cadena de caracteres. Si <nPosición> no corresponde con un campo existente en el fichero de base de datos actual o si no se abre ningún fichero de base de datos en el área de trabajo actual, FIELDNAME() devuelve una cadena nula (“”).

Descripción

 FIELDNAME() es una función de base de datos que devuelve un nombre de campo utilizando un índice en la posición del nombre de campo en la estructura de base de datos. Utilícelo en aplicaciones independientes de los datos donde el nombre de campo es desconocido. Si requiere información de más de un campo, utilice AFIELDS() para crear una matriz de información de campos o COPY STRUCTURE EXTENDED para crear una base de datos de información de campos.

Si necesita información adicional sobre estructuras de ficheros de base de datos, utilice TYPE() y LEN(). Para obtener el número de posiciones decimales de un campo numérico, utilice la expresión siguiente:

     LEN(SUBSTR(STR(), RAT(“.”, ;

                 STR()) + 1))

Por defecto, FIELDNAME() funciona en el área de trabajo seleccionada actualmente, tal como se muestra en el ejemplo siguiente.

 Ejemplos

     ¦  En estos ejemplos se ilutra FIELDNAME() utilizado con otras funciones:

           USE Ventas

           ? FIELDNAME(1)                         // Resultado: SUCURSAL

           ? FCOUNT()                             // Resultado: 5

           ? LEN(FIELDNAME(0))             // Resultado: 0

           ? LEN(FIELDNAME(40))          // Resultado: 0

     ¦  En este ejemplo se utiliza FIELDNAME() para listar el nombre y tipo de cada campo de Cliente.dbf: 

           USE Cliente NEW

              FOR nCampo := 1 TO FCOUNT()

                 ? PADR(FIELDNAME(nCampo), 10),;

                        VALTYPE(&(FIELDNAME(nCampo)))

              NEXT

     ¦  En este ejemplo se accede a campos en áreas de trabajo no seleccionadas, utilizando expresiones de alias:

              USE Ventas NEW

              USE Cliente NEW

              USE Facturas NEW

              //

              ? Ventas->(FIELDNAME(1))   // Resultado: NUMVENTA

              ? Cliente->(FIELDNAME(1))  // Resultado: NUMCLIE

 Ficheros:  La biblioteca asociada es DPXBASE.CH.