|
|
|
|
|
FOR( ) renvoie la clause FOR utilisée avec la commande INDEX pour créer le repère
d'index .MDX spécifié pour la table en cours ou la table spécifiée. La fonction
FOR( ) évalue la clause FOR pour l'index maître de la table en cours, le repère
d'index à la position spécifiée dans la liste d'index ouverts pour une table, ou le
repère d'index dans le fichier .MDX spécifié.
Si aucun fichier .MDX n'est spécifié, FOR( ) évalue l'index à la position
spécifiée dans la liste de tous les index ouverts dans la même zone de travail. La
fonction FOR( ) vérifie d'abord les repères d'index du fichier .MDX d'exploitation
et des fichiers .NDX, puis les repères d'index des autres fichiers .MDX.
FOR( ) renvoie une chaîne vide ("") s'il n'y a pas de repère d'index à
la position spécifiée, si l'index à la position spécifiée est un fichier .NDX ou si
le repère d'index spécifié n'a pas été créé avec une clause FOR. FOR( )
renvoie aussi une chaîne vide ("") si vous ne spécifiez pas une position de
repère d'index et si la table ne possède pas d'index maître.
Vous pouvez utiliser TAGNO( ) pour déterminer le numéro d'ordre d'un index ou d'un
repère d'index spécifié. L'ordre des index ouverts pour la table spécifiée reste le
même tant que vous n'avez pas spécifié un autre ordre d'index avec USE, SET INDEX ou
INDEX.
|
Il n'y a pas d'équivalent direct en OODML, mais il existe une propriété
forExpression de l'index. Récupérer cette information prend un peu de travail, parce
qu'on y arrive par une fonctionnalité non documentée de l'objet TableDef (ceci le sera
pour une version future de l'aide en ligne).
Un petit exemple de cela est:
t = new TableDef() |
t.tableName := "SomeTable" |
t.load() |
? t.indexes[ "indexname" ].forExpression |
// or |
? t.indexes[ 1 ].forExpression |
Code
|
Dans l'exemple suivant, FOR( ) est utilisée pour déterminer le jeu
de conditions dans la clause FOR de l'index :
DELETE FILE SOCTEMP.MDX |
* Crée un fichier MDX temporaire |
USE SOCIETE EXCLUSIVE |
INDEX ON C_SOCIETE TAG C_SOCIETE OF SOCTEMP FOR C_SOCIETE = "D" |
INDEX ON SOCIETE TAG SOCIETE OF SOCTEMP |
INDEX ON VILLE TAG VILLE OF SOCTEMP FOR CODE_POST = "9" |
? "clause TAG et FOR" |
? TAG(1),FOR(1) |
* TAG(1) et FOR(1) renvoient la clause TAG et FOR |
* pour le premier index du fichier d'exploitation |
* MDX, SOCIETE.MDX |
? "1", TAG("SOCTEMP",1), FOR("SOCTEMP",1) |
* la clause FOR( ) de l'index COMPCODE est SOCTEMP = "D" |
? "2", TAG("SOCTEMP",2), FOR("SOCTEMP",2) |
* la clause FOR( ) de l'index SOCIETE est vide |
? "3", TAG("SOCTEMP",3), FOR("SOCTEMP",3) |
* la clause FOR( ) de l'index VILLE est CODE_POST="9" |
Sources :
Aide Visual dbase V5.7
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm
Aide dBase Plus 2.6.0
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.