Création d'index sur un TTable
Bonjour,
J'ai un TTable posé sur une fiche.
Je cherche à créer dynamiquement des champs et des indexs dans cette table.
Opération1
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
with MyTable do
begin
Active := FALSE;
FieldDefs.Clear;
IndexDefs.Clear;
//
FieldDefs.Add('Champ01',ftInteger);
FieldDefs.Add('Champ02',ftInteger);
FieldDefs.Add('Champ03',ftInteger);
//
// Création d'un index pour pouvoir trier
//IndexDefs.Add('Idx','Champ01;Champ02',[ixPrimary]);
//IndexName := 'Idx';
//
Active := TRUE;
//
end; |
Aucun problème, le tri se fait correctement.
Ensuite, j'ai besoin d'effacer les champs de la table et d'en mettre d'autres :
Opération 2
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
with MyTable do
begin
Active := FALSE;
FieldDefs.Clear;
IndexDefs.Clear;
//
FieldDefs.Add('Champ11',ftInteger);
FieldDefs.Add('Champ12',ftInteger);
FieldDefs.Add('Champ13',ftInteger);
//
// Création d'un index pour pouvoir trier
//IndexDefs.Add('Idx','Champ11;Champ12',[ixPrimary]);
//IndexName := 'Idx';
//
Active := TRUE;
//
end; |
Aucun problème de syntaxe, les champs sont bien créés, j'ai bien accès aux données, par contrer aucun tri ne se fait .
J'ai l'impression qu'une fois qu'un index a été affecté dynamiquement à une table, il est impossible d'en définir un nouveau... :roll:
Je tourne en rond...pouvez vous m'éclairer ?
--
Benoit