![]() |
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| Dim
queryStr, keywords keywords = Trim(Request.Form("keywords")) operateur_logique = (Request.Form("logique")) |
Récupération des infos du formulaire. Keywords
contient les mots clés |
|
if
keywords <> "" then |
Les mots clés sont séparé
et mis dans un tableau NbTabIndice_keywords indique la dimension du tableau, c'est à dire le nombre de mots clés écrit. |
|
queryStr
= "SELECT id, title, start_date, close_date FROM ANO_problems
" & _ |
Le début de la requette indépendante du nombre de mots clés. remarquez AND ( qui ouvre les conditions de recherche avec les mots clés |
|
dim
p_keywords For p_keywords=0 to NbTabIndice_keywords if
operateur_logique = 1 then NEXT
|
On fait une boucle qui tourene autant de fois qu'il y a de mots clés. On fait la recherche dans les champs description, solution et title si j'ai choisi d'associer avec AND
c'est la première partie Bien faire attention aux parenthèses afin d'associer correctement les opérateurs logiques
|
|
if
operateur_logique = 1 then
|
Il faut enlever le dernier AND ( ou le dernier OR ( de la boucle. |
|
if
NbTabIndice_keywords > 0 then
|
Permet de générer la dernière parenthèse derrière le dernier mot- clé. |
|
whereStr = whereStr & ") ORDER BY start_date ASC"
|
Penser a la dernière parenthèse concernant tous les mots-clés |
| queryStr = queryStr & whereStr | On associe le début de la requette avec la requette construite |
| Set srchRes = SQLQuery(adoCon, queryStr) | Execution de la requette |
Rq : Si vous faites un copier-coller de ce code ca ne marchera pas, car les lignes ne seront pas forcément coupé au bon endroit. C'est pour cette raison que j'ai marqué en orange la dernière lettre de chaque ligne.
|