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)
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 :
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) :
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.
Partager