Bonjour tout le monde.
quelqu'un peut-il m'expliquer l'échec d'indexation lors d'une copy de fichier?

je travaille sous Delphi 7 Entreprise.
table tabChoix est une table Paradox avec deux champs alphanumériques:
Code et Libelle avec un clé composite (Code+Libelle) pour l'unicité de l'enregistrement
cette table a un index secondaire : libelle (pour permettre la recherche avec la procedure SetRangeStart)

Le fichier tabChoix est copié dans tabChoixSvg dans un autre repertoire :
MCheminSvg est le chemin du repertoire ou est sauvegardé le fichier
IndiceMaj est l'indice N° le la sauvegarde (de 1 à 3 selon le cas, sauvegarde triangulaire)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
        nomTable.TableName :=MCheminSvg+'tbChoixSvg'+IndiceMaj;
        BatchMove1.Source :=tabChoix;
        BatchMove1.Destination :=nomTable;
        BatchMove1.Mode :=batCopy;
        BatchMove1.Execute;
        nomTable.AddIndex('','Code;Libelle',[IxPrimary]);
        nomTable.AddIndex('TabChoixLibelle','Libelle',[]);

A l'exécution, le fichier est bien copié, la clé composite existe.

Le programme bloque sur la dernière instruction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
nomTable.AddIndex('TabChoixLibelle','Libelle',[]);
avec le message d'erreur suivant ! nom d'index/repere incorrect.

Par contre avec le code suivant (en rajoutant un deuxième champ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
nomTable.AddIndex('TabChoixLibelle','Libelle;Code',[]);
le programme crée l'index secondaire (indexé sur le libelle el le code).

Quelqu'un peut-il m'expliquer cela?

Merci.