titre_site.jpg (51607 octets)

KEY()

Instruction dbase IV et suivants

Renvoie l'expression clé utilisée pour créer l'index spécifié.

Syntaxe

KEY( [<fichier .mdx>,] <position d'index expN> [, <alias>] )

<fichier .mdx>

Spécifie un fichier index multiple qui contient le repère d'index à vérifier.

<position d'index expN>

Sélectionne un fichier index ou un repère d'index, respectivement par sa position dans une liste d'index ouverts ou dans un fichier .MDX, pour la table en cours ou la table spécifiée.

<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.

Plus2_5-Icon.jpg (1250 octets)   Note :

Contrairement à la plupart des fonctions, le premier paramètre est facultatif. Si vous omettez le premier paramètre, les paramètres restants se déplacent vers l'avant; le deuxième paramètre est le premier paramètre, et ainsi de suite.

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


La fonction KEY( ) renvoie l'expression clé utilisée pour créer l'index spécifié. Si plusieurs index .NDX sont ouverts ou si plusieurs repères de fichiers index multiples sont disponibles, utilisez KEY( ) pour déterminer l'expression clé de chaque index.
Si aucun index n'est ouvert dans la zone de travail en cours ou dans la zone de travail spécifiée, ou si <position d'index expN> n'est pas évaluée à la position d'un index dans la liste d'index, KEY( ) renvoie une chaîne vide ("").

Plus2_5-Icon.jpg (1250 octets) Pour voir la valeur de l'expression clé pour un enregistrement donné, conserver la chaîne retournée par key() dans une variable privée. Ensuite, utiliser la macro de substitution pour évaluer l'expression.

L'index doit être référencé par un numéro. Si vous ne spécifiez pas un fichier .MDX afin de vérifier, l'indice de numérotation dans la liste des indices ouverte est compliqué si vous avez ouvert un index .NDX ou que vous avez ouvert un fichier .MDX en non-production. Pour plus d'informations sur l'indice de numérotation, consultez SET INDEX. Quoi qu'il en soit, il est souvent plus facile de faire référence à un index par son nom en utilisant TAGNO() pour obtenir le numéro de position correspondant.

Si vous ne spécifiez pas une balise index, KEY() vérifie l'index courant maître et retourne une chaîne vide s'il n'y a pas d'index maître.

Si le fichier .MDX indiqué ou l'index n'existe pas, KEY() retourne une chaîne vide.

 

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

Il n'y a pas d'équivalent direct, mais si vous utilisez l'objet TableDef, vous pouvez obtenir cette information.

t = new TableDef()

t.tableName := "SomeTable"

t.load()

? t.indexes[ "indexname" ].expression

// ou

? t.indexes[ 1 ].expression

 

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

Dans l'exemple suivant, KEY( ) est utilisée pour restituer l'instruction clé des index.

USE SOCIETE EXCLUSIVE

INDEX ON C_SOCIETE TAG C_SOCIETE

INDEX ON CODE_POST + SOCIETE TAG CODSOCIETE

TagCompCode=TAGNO("C_SOCIETE")

* Obtenir le numéro de repère d'index de C_SOCIETE

TagZipCompany=TAGNO("CODSOCIETE")

* Obtenir le numéro de repère d'index de CODSOCIETE

? TagCompCode, TAG(TagCompCode), KEY(TagCompCode)

? TagZipCompany, TAG(TagZipCompany),KEY(TagZipCompany)

L'exemple suivant affiche la valeur de la clé de l'index actuel, en cours de navigation à fins de débogage:

PROCEDURE Form_onNavigate

private cKey

cKey = key( )

? "Key value: [" + &cKey + "]"


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 : vendredi 06 août 2010

©  M.Abraham.