Bonjour,
Question peu explicite !!!
Il est possible d'effectuer ce type de recherche de la façon suivante :
Dans mon exemple je prends le cas d'une rechercher sur le nom d'un client issu d'une table
tblClientsLa saisie de la valeur à rechercher se trouve dans le champs
rech_NomLa recherche s'effectue pour eviter trop d'attente entre chaque caractère saisie à la sortie du champ ou bien dans le code d'un bouton
La liste se nomme
lstClients
Sql est une chaine
Rs est une source de donnees
Sql =
[
SELECT Nom, Id
FROM tblClients
WHERE Nom Like '%
]
Sql += rech_Nom + "%'" ORDER By Nom
SI Pas HExecuteRequeteSql( Rs, HrequeteDefaut, Sql ) Alors
Erreur( HErreurInfo() )
Retour
Fin
ListeSupprimeTout( lstClients )
Pour Tous Rs
ListeAjoute( Rs.Nom )
Fin
Plusieurs variantes existentent
- en utilisant meme la phonetique
- en laissant l'utilisateur saisir lui meme les jokers
DU%
donne DUPONT, DURAND, DUCHMOL
%NT
Donne DUPONT, MARRANT, MERLANT
%ER%
Donne BERNARD, MERLANT, FERRANT
On peut faire aussi
%R__D%
Donne DURAND, FARRANDOLE
Ici les _ represente un caractère quelconque tandis que % représente une suite de caractère quelconque.
Pour être plus près de windows on pourrait laisser saisr des * et des ? puis les remplacer pour la construction de la chaine SQL