Vous êtes sur la page 1sur 5

Spécialité : TS Base de données

Module : Delphi Réseaux


Chapitre : ADO
Thème : Consultation de données
(Recherche- Filtrage- Tri)

1. La Recherche : la recherche est une opération très importante dans les bases de
données, Delphi fournit la fonction Locate d’Adotable, qui permet de pointer le premier
enregistrement qui correspond au critère de recherche. Locate prend la valeur Vrai si la
recherche réussie et Faux dans le cas contraire.

Syntaxe:

Adotable1.locate (‘Nom de champ’, valeur, Options de recherche) : Boolean


(1)(2)(3)

(1): Nom de champ: sur lequel s’ effectue la recherche


(2): Valeur : la valeur recherchée
(3): Options de la recherche:
 [] : pas d’options
 [ loCaseInsensitive]: ne fait pas de différence entre minuscules et majuscules
 [ loPartial Key]: permet d'effectuer la recherche sur les premiers
caractères d'un champ.
Remarque:
On peut utiliser la fonction Locate dans la structure IF comme suit :
If not (Adotable1.locate (‘Nom de champ’, valeur, Options de recherche)) then
Showmessage(‘ valeur non trouvée’)
Else showmessage (‘ valeur trouvée’)

Exemple :
If not (tsec.locate(‘ mode’,’ Apprentissage’,[]) ) then
Showmessage(‘ valeur non trouvée’)
Else showmessage (‘valeur trouvée’) ;

Si la fonction locate trouve des sections dont le mode est ‘ Apprentissage ’ alors elle prend
la valeur True, pointe le premier enregistrement correspondant et un message (‘valeur
trouvée’) est affiché, sinon elle prend la valeur False et un message (‘valeur non trouvé’)
est affiché.

INSFP BISKRA FORMATRICE : Melle. Douida Nadia


Exercice01:
1. Réaliser l’ application suivante qui effectue une recherche dans la table Section par
‘Nsec’:

2. Ajouter les composants nécessaires pour effectuer une recherche selon un champ
déterminé par l’utilisateur comme suit :

INSFP BISKRA FORMATRICE : Melle. Douida Nadia


2. Filtrage:
Le filtrage d’une table permet d’afficher seulement les enregistrements qui correspondent à des critères
déterminés. Pour cela on utilise les propriétés suivantes d’ Adotable :
 Adotable1.filter : chaine de caractères contient le critère de filtrage
 Adotable1.filtered : True si on veut appliquer le filtre, False si on veut pas appliquer le filtre.
Filtrage en mode conception
Donner les valeurs d’Adotable1.filt er et Adotable1.filtered dans l’inspecteur d’objets
Exemple:
1. clic sur adotable1 et modifier les propriétés Filter et Filtered comme suit :

Filtrage en mode exécution:


Donner les valeurs d’Adotable1.filt er et Adotable1.filtered par programme
Exemple : Appliquer le filtre en écrivant la valeur de champ dans un Edit
: Dans l’événement Onchange de Edit1, on écrit :

If edit1.text=’’ then adotable1.filtered :=false


Else Begin
Adotable1.filter := ‘Nom champ’ +’ like ‘+quotedstr (edit1.text+’*’) ; Adotable1.filtered :=true ;
End ;

INSFP BISKRA FORMATRICE : Melle. Douida Nadia


Exercice02:
1. Réaliser l’ application suivante qui effectue un filtrage selon le champ
Designation de la table section

Avant filtrage Après filtrage

2. Ajouter les composants nécessaires pour effectuer un filtrage selon un champ


déterminé par l’utilisateur comme suit :

INSFP BISKRA FORMATRICE : Melle. Douida Nadia


3. Tri d’une Adotable:
Delphi fournit la propriété ‘Sort ’ du composant Adotable, qui permet de trier l es
enregistrements de la table selon un champ et un ordre déterminés.

Syntaxe:

ADOTable1 .Sort := 'nom_champ ‘+ ’ ASC’ ou ADOTable1 .Sort := 'nom_champ ‘+ ’ DESC’

Exemple 01:
ADOTable1 .Sort := 'Designation‘+ ’ ASC’ : Trier la table Section alphabétiquement dans l’ordre
croissant, selon le champ ‘Designation’

Avant Tri Après Tri

Exemple 02: Trier la table en cliquant sur un titre de colonne de Dbgrid


Dans l’évènement OnTitleClick de DbGrid, on écrit le code :

Column.Field.FieldName + ‘ ASC’ ; // ou +’ DESC’

Exercice 01:
Créer les fiches de consultation ‘ Consultation Spécialités’, ‘ Consultation Section’ et
‘Consultation Stagiaire’ en effectuant la recherche, le filtrage et le tri des tables
correspondantes.

Exercice 02:
1. Comment réaliser la recherche avec plusieurs champs dans une table ?
2. Comment spécifier un filtre personnalisé, déterminé par l ’ utilisateur ?

INSFP BISKRA FORMATRICE : Melle. Douida Nadia

Vous aimerez peut-être aussi