Ajouter par programmation un index secondaire

Signaler
Messages postés
4
Date d'inscription
mercredi 27 février 2002
Statut
Membre
Dernière intervention
27 décembre 2002
-
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Je galère pour ajouter un index secondaire en programmant (et non en utilisant le DataBase Desktop) pour pouvoir ensuite trier ma base.
La méthode de la TTable AddIndex bloque quand on l'appelle, prétextant un problème de paramêtre... :(
Que faire ?
Merci d'avance
Haaltruf

3 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
L'exemple fourni dans l'aide :
Table1.AddIndex('NewIndex', 'CustNo;CustName', [ixUnique, ixCaseInsensitive]);

et
Attention Toute tentative de créer un index en utilisant des options inapplicables pour la table déclenche une exception.

Comment appelles-tu cette méthode dans ton code ?

Rappel : pourquoi veux-tu trier ta table (et non la base) puisque les index permettent de présenter des résultats ordonnés en fonction des champs qu'ils utilisent ?
Messages postés
4
Date d'inscription
mercredi 27 février 2002
Statut
Membre
Dernière intervention
27 décembre 2002

En effet j'appellai la fonction avec un paramêtre non acceptable.
J'utilise bien l'index pour trier la table et non la base de donnée.
Mais autre question qui se pose à moi, puisque je ne peux maintenant pas récupérer (toujours par programmation) les index que j'ai créé...
J'aimerais en effet savoir si ceux-ci sont déja enregistré ou non... Mais la fonction Table.IndexFields[i].AsString ne renvoie rien...
Désolé de poser tant de problème :)
Haaltruf
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
procedure GetIndexNames(List: TStrings);

Renvoie une liste des index disponibles d'une table.
Ex : Table1.GetIndexNames(ListBox1.Items);

et tu obtiendras la liste des index se rapportant à la table.
Tu peux aussi regarder dans le répertoire où est stockée la table si tu vois des fichiers d'extension :

Paradox : xg0, xg1..xgN, *.yg0, yg1..ygN
DBASE : ndx, mdx