Delphipage - la reference en Delphi
Accueil - Astuces - Composants - Programmes - Tutoriaux - Livres - Liens
 Sources
- Astuces
- Composants
- Programmes
- Tutoriaux
 Rechercher
- Delphipage
- Ngscan
 Ressources
- Lexique Delphi
- Livres
- News
- Patchs Delphi
 Liens
- Borland France
- CodeGear
- Les meilleurs sites


Tutoriaux - Base de données - BDE - Recherche d'enregistrement

Présentation

Pour rechercher un enregistrement sur des champs indexés, vous pouvez utilisez plusieurs méthodes. Pour effectuer une recherche, il faut choirsir un champ qui sera indexé dans la création de la base de données.


Recherche exacte

SetKey et GotoKey

La méthode SetKey permet de mettre en mode recherche le DataSet.
La propriété Field permet de fournir les critères de recherche.
La méthode GotoKey permet de lancer la recherche.

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.SetKey;
Table1.Fields[0].AsString:='Free';
Table1.GotoKey;
end;


Voici une autre méthode :

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.SetKey;
Table1.FieldByName('Nom').AsString:='Free';
Table1.GotoKey;
end;


Si la recherche n'a rien donné, GotoKey retourne la valeur false.

FindKey

Cette méthode précise les critères de sélection et d'effectuer la recherche.


procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.FindKey([Nom, Prenom]);
end;



Recherche approchante

La recherche approchante permet de sélectionner l'enregistrement dont les premiers caractères correspondent aux critères spécifiés.

SetKey et GotoKey


C'est le même prinicpe que la recherche exacte avec SetKey et GotoKey.

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.SetKey;
Table1.Fields[0].AsString:='Fr';
Table1.GotoNearest;
end;


FindNearest

L'utilisation de la méthode ressemble également à la méthode FindKey.

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.FindNearst(['Fr']);
end;



Recherche globale

La recherche globale permet une recherche sur des champs indexés ou non.

Locate


Cette méthode permet de rechercher dans l'ensemble de données l'enregistrement spécifié et en faire l'enregistrement actif. Elle est de type boolean et possède plusieurs paramètres :
Le premier paramètre indique le nom du ou des champs où la recherche va se faire.
Le deuxième permet d'indiquer les valeurs à rechercher.
Le troisième est le paramètre TLocateOption. Cela indique les options de recherche.

Voici les valeurs possibles pour TLocateOptions :

Valeur
Description
loCaseInsensitive Ne tient pas compte des différences minuscules/majuscules.
loPartialKey Les valeurs clés peuvent n'inclure qu'une partie de la valeur du champ clé. Par exemple, 'DEL' pourrait correspondre à la fois à 'DELPHI' et à 'DELPHIPAGE'

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Locate('Nom','Free', [loCaseInsensitive]);
end;


Tous droits réservés - Contacts
Haut de la page