Bonjour,

tout d'abord merci à tout le monde, car régulièrement je trouve sur ce forum les solutions aux problèmes que je rencontre.
Mais la après quelques explorations je suis sec.
Voici mon problème : je charge un TClientDataSet avec une table Interbase v6.00 j'utilise les composants standard de dbexpress (TSQLConnexion, TSQLDataSet avec CommandType à ctTable,TDataSetProvider avec poAllowCommand à true,puis le TClientDataSet sur lequel est rattaché un TDataSource lui même en relation avec un TDBGrid).
J'utilise AddIndex pour créer les index nécessaires.

A l'exécution le DBGrib affiche les data en provenance d'Interbase.
lorsque je fais une recherche sur un champ texte, avec setkey et gotokey, celle ci échoue systématiquement sauf dans le cas ou le champ est entièrement rempli.
Ce qui me laisse penser qu'il y a un problème avec les espaces

voici le code utilisé avec BDS2006

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
     TIndexOptions option;
    option.Clear();
 
    CDS->AddIndex("nom","NAME",option,"","",0);
    CDS->IndexName="nom";
    CDS->SetKey();
 
//Le champ NAME est un champ de 15 char
//    CDS->Fields->Fields[0]->Value="111111111111111"; //fonctionne
// ci dessous ne fonctionne pas alors qu'il existe dans la table
    CDS->Fields->Fields[0]->Value="Test";
    if (CDS->GotoKey())
    {
        ShowMessage("OK");
    }
    else
    {
        ShowMessage("Failed");
    }
Voila j'espère que c'est assez clair et que quelqu'un peut m'indiquer une solution.

Merci à tous
JP