titre_site.jpg (51607 octets)

TAGCOUNT()

Instruction dBase IV et suivants

Renvoie le nombre d'index actifs dans la zone de travail spécifiée ou dans un fichier index multiple .MDX.

Syntaxe

TAGCOUNT( [<fichier .mdx>[,<alias>] ] )

<fichier .mdx>

Spécifie le fichier index multiple contenant le repère d'index que vous voulez vérifier. Si vous spécifiez un fichier sans inclure son chemin d'accès, Visual dBASE le recherche dans le répertoire en cours puis dans le chemin d'accès spécifié avec SET PATH. Si vous spécifiez un fichier sans inclure son extension, Visual dBASE prend par défaut l'extension .MDX.

<alias>

Un numéro de zone de travail (1 à 225), une lettre de zone de travail (A à J) ou 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

TAGCOUNT( ) renvoie le nombre total d'index ouverts ou le nombre de repères d'index dans le fichier .MDX spécifié. TAGCOUNT( ) renvoie 0 s'il n'y a aucun index, ni repère d'index ouvert dans la zone de travail en cours ou la zone de travail spécifiée, ou si le fichier index multiple spécifié par <fichier> n'existe pas. Si vous ne spécifiez pas de nom de fichier .MDX, TAGCOUNT( ) renvoie le nombre total d'index dans la zone de travail spécifiée (les fichiers .NDX sont inclus).

Si vous ne spécifiez pas d'alias, TAGCOUNT( ) renvoie le nombre total d'index dans la zone de travail en cours.

 

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

Le langage XBase a quelques fonctions utilisées pour retourner des informations sur des balises d'index. Selon l'aide en ligne, il n'y a pas d'équivalent direct en OODML pour TAG(), TAGCOUNT() et TAGNO().

Toutefois, l'objet TableDef dans DB2K vous permet d'afficher cette information avec très peu d'efforts.

t = new TableDef()

t.tableName := "mytable"

t.load()

? t.indexes.size // TAGCOUNT() equivalent

? t.indexes[1].indexName // TAG() equivalent

// TAGNO() est un peu plus compliqué

cTagName = "TAGNAME" // Recherche TagName

nTagNo = 0

for i = 1 to t.indexes.size

   if t.indexes[ i ].indexName == cTagName

      nTagNo = i

      exit

   endif

next

? nTagNo

 

Code      ico_MsDos.jpg (1668 octets)   dbasedos.gif (376 octets)   vdb5.gif (351 octets)   Plus2_5-Icon.jpg (1250 octets)

Dans l'exemple suivant, TAGCOUNT( ) détermine le nombre d'index ouverts pour la table en cours :

CLOSE ALL

USE SOCIETE IN SELECT( ) EXCLUSIVE

SELECT SOCIETE

INDEX ON C_SOCIETE TAG C_SOCIETE

INDEX ON SOCIETE TAG SOCIETE

* C_SOCIETE et SOCIETE se trouvent dans le fichier d'exploitation .MDX

INDEX ON CODE_POST TAG CODE_POST OF Location

* CODE_POST se trouve dans LOCATION.MDX

INDEX ON VILLE TO VILLE

* VILLE se trouve dans VILLE.NDX

SET INDEX TO VILLE, Location ORDER CODE_POST

* 2 repères d'index, au moins, existent dans SOCIETE.MDX

* Il en existe un dans Location.mdx

* Il y a un autre index ouvert dans VILLE.NDX

? "Il existe " + LTRIM(STR(TAGCOUNT( ))) + ;

" index actifs dans la zone de travail " + ;

LTRIM(STR(WORKAREA( )))

WAIT

DISPLAY STATUS

 

ico_duflp.gif (1875 octets) dUFLP :

IndexTags.cc

Classe conçue pour permettre au développeur d'obtenir un tableau d'informations sur un fichier d'index .MDX, ou de permettre à un utilisateur de sélectionner une balise d'index à partir d'un formulaire qui affiche les noms des index et des expressions

 
 

retour

Sources :

Aide Visual dbase V5.7
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm par Ken Mayer
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 : lundi 09 août 2010

©  M.Abraham.