Voila j'ai un petit probl�me avec mon TDBGrid, certes pas tr�s grave et qui n'empeche pas mon application de fonctionner mais bon c'est tout de meme pas propre.


En fait j'enregistre un visiteur via un formulaire cr�e avec des TEdit. Ensuite je l'envoi dans ma table (connect�e � ma base de donn�e) de la mani�re suivante :

- Code lorsque je clique sur le bouton Ajouter :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::AGGIUNGERE_VISITATOREClick(TObject *Sender)
{
 TLocateOptions Option;
 if(TBVisit->Locate("cognome",cognome_visitatore->Text,Option)==true) return;
 TBVisit->Append();
 aggiornare_visitatori();
 ShowMessage("Visitatore aggiungere");
}
- puis fonction suivante pour ajouter le visiteur dans la table :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
 
void __fastcall TForm1::aggiornare_visitatori()
{
 TBVisit->Edit();
 TBVisit->FieldByName("Cognome")->Value = cognome_visitatore->Text;
 TBVisit->FieldByName("Documento")->Value = documento_visitatore->Text;
 TBVisit->FieldByName("Motivo")->Value = motivo_visitatore->Text;
 TBVisit->FieldByName("Entrata")->Value = entrata_visitatore->Text;
 TBVisit->FieldByName("Uscita")->Value = uscita_visitatore->Text;
 TBVisit->Post();
 TBVisit->Refresh();
}
Ce que je ne comprends pas, c'est que mon visiteur est bien rajout� UNE SEULE FOIS lorsque l'on verifie dans la table de la base de donn�e (type ACCESS) par contre visuellement dans mon TDBGrid mon visiteur apparait 2 fois :
- une fois sur la premi�re ligne du tableau
- une autre fois sur la derni�re ligne

Si par la suite je modifie ce visiteur (� l'aide d'un bouton Modifier) le visiteur apparait cette fois ci normalement (soit une seul fois)

Si quelqu'un connait un moyen de remerdier a cela ?

Sinon question suppl�menentaire : Est-il possible de trier un TDBGrid en fonction de la colonne o� l'on clique. Par exemple si je clique une fois sur la colonne Nom il me trie par ordre croissant les nom, et si je reclique il le fait par ordre d�croissant et ceux pour toutes les colonnes ? Comme dans beaucoup d'applications d'ailleurs.


Merci pour vos futurs �clairages :-)