titre_site.jpg (51607 octets)

FIELD()

Renvoie le nom du champ d'une table correspondant à la position spécifiée.

Syntaxe

FIELD(<numéro de champ expN> [, <alias>])

<numéro de champ expN>

La position du champ dont vous voulez renvoyer le nom.

<alias>

Un numéro de zone de travail (1 à 225), une lettre de zone de travail (A à J) ou le nom d'alias. La lettre de zone de travail ou le nom d'alias doit être entouré de guillemets.

 ico_MsDos.jpg (1668 octets)  dbasedos.gif (376 octets) vdb5.gif (351 octets) Description



FIELD( ) renvoie le nom d'un champ d'une table correspondant au <numéro de champ expN> spécifié. Les champs sont numérotés de 1 à 1024, en fonction de leur position dans la structure de la table.
Si vous ne spécifiez pas de zone de travail, FIELD( ) renvoie le nom d'un champ de la table en cours. FIELD( ) renvoie la chaîne vide ("") si la table ne contient pas de champ à la position spécifiée.

Plus2_5-Icon.jpg (1250 octets) Si le champ comprend des espaces, Field() renvoie le nom entre deux points :

exemple :    :Circuit de puissance primaire:

 

Plus2_5-Icon.jpg (1250 octets) xDML vers ooDML

L'objet FIELD dans le OODML possède une propriété, fieldName, qui est utilisée pour le même but:

? form.rowset.fields [1]. fieldName

La propriété fieldName est en lecture seule, sauf si vous créez un champ calculé (dans ce cas vous assignez vous-même le nom de champ).

Code      ico_dbIII.jpg (1345 octets)   dbasedos.gif (376 octets)   vdb5.gif (351 octets)   Plus2_5-Icon.jpg (1250 octets)

Dans l'exemple suivant, FIELD( ) est utilisée pour renvoyer les noms des champs d'une table pour générer un formulaire de saisie de données. Ce code pourrait être utilisé comme procédure de saisie de données générique lorsque la table n'est pas déterminée :

SET TALK OFF

CLEAR

USE CLIENTEL      && Utiliser n'importe quelle table

APPEND BLANK

Fldcnt=1

DO WHILE LEN(FIELD(Fldcnt))<>0

   mField=FIELD(Fldcnt)

   @ ROW( )+1,0 SAY mField+;

   REPLICATE(".",25-LEN(mField)) GET &mField

   Fldcnt = Fldcnt + 1

ENDDO

READ

CLEAR

SET TALK ON

 

Ce qui suit utilise FIELD() pour effectuer l'opération inverse: retourner le numéro d'un champ avec le nom donné.

PROCEDURE FieldNum(cName, xAlias)

local nWork, nFld

if argcount() < 2

   xAlias = workarea()

endif

for nFld = 1 to fldcount(xAlias)

   if upper(cName) == upper(field(nFld, xAlias))

      return nFld

   endif

endfor

return 0


Cette fonction prend un paramètre optionnel alias, tout comme la fonction FIELD(). Si l'alias n'est pas spécifié, le numéro de la zone de travail actuelle est utilisé.

Les noms sont convertis en majuscules pour la comparaison, donc le nom du champ spécifié ne correspond pas nécessairement à la même typographie que le champ de la table.

retour

Sources :

Aide Visual dbase V5.7
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm
Aide dBase Plus 2.6.0

Retour à l'accueil

Si vous voyez des erreurs, ou souhaitez apporter des compléments, n'hésitez pas à le signaler.

Dernière modification : jeudi 05 août 2010

©  M.Abraham.