
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.
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.
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 ("").
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.
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 |
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.
|