| |

FOR()
Instruction dbase IV et suivants
Renvoie la clause FOR utilisée pour créer un repère d'index ou un
fichier index spécifié.
Syntaxe
FOR( [ [<fichier .mdx expC>,] <position d'index expN> [,<alias>] ]
)
<fichier .mdx exp C>
Le fichier index multiple qui contient le repère d'index à vérifier.
<position d'index expN>
La position d'un repère d'index d'un fichier .MDX ou la position d'un fichier index dans
la liste des index ouverts 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.
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.
xDML vers ooDML
|
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 |
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" |
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.
|