Recherche mutli-critaires en delphi5

Signaler
Messages postés
1
Date d'inscription
dimanche 1 janvier 2012
Statut
Membre
Dernière intervention
6 janvier 2012
-
Messages postés
107
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
20 juillet 2021
-
salut tout le monde;
j'ai une base de donnée(dbf)qui contient plus de 200 000 enregistrement, je voudrais:
1- Faire une recherche sur 02 champs et plus (nom,prenom,...)
2-Le code qui fait l'indexation sur plusieurs champs
A voir également:

3 réponses

Messages postés
107
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
20 juillet 2021
3
Bonjour,
Avec une table DBF il te faut obligatoirement créer un index secondaire sur les champs nom et prenom.
Ensuite la méthode LOCATE(Const KeyFields: string; const KeyValues: variant; Options: [TLocateOptions]): Boolean devrait faire l'affaire.
Pour la recherche sur les 2 champs il faut fournir les critères (KeyValues) dans un tableau de type Variant.
Les Options sont loCaseInsensitive, La case n'est pas prise en compte et
loPartialKey recherche sur une partie de l'argument passé
If not table1.Locate('Nom;Prenom',VarOfArray('Yassine','1970'), []) then
ShowMessage('Pas trouvé');
Avec SetKey et GotoKey ça marche aussi.
With Table1 do begin
Setkey;
FieldByName('Nom').AsString := nom;
FieldByName('prenom').AsString := prenom;
GotoKey;
end;
A voir aussi les méthodes LookUp et FindKey suivant ce que tu veux faire.
Ne pas oublier l'aide de Delhi Touche F1

pierrot
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Bonjour,

attention..

If not table1.Locate('Nom;Prenom',VarOfArray(['Yassine','1970']), []) then


cantador
Messages postés
107
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
20 juillet 2021
3
Bonjour,
Quand on donne une info encore faut il qu'elle soit exacte.merci d'avoir corrigé mon oubli de crochets.
pierrot