Re: Recherche ( très souple )

Posté par drcharly93 le 31/10/2007 1:56:01
tblVar est un tableau dynamique de 0 Chaines
Ind est un entier
sCondition est une chaine
Rs est une source de donnees
Sql est une chaine

//On remplie un tableau avec les valeurs voulues
TableauAjoute(tblVar, "Allergie")
TableauAjoute(tblVar, "Asthme")
TableauAjoute(tblVar, "Machine")

//On construit la condition
Pour Ind = 1 a Dimension( tblVar)
  Si sCondition <> "" alors
    sCondition += RC + " OR "
  Fin
  sCondition += "[Difficultés] LIKE '%" + tblVar[Ind] + "%' "
Fin

//On construit la requête
Sql =
[
SELECT * 
FROM MaTable
WHERE [Difficultés] Like @Condition
FROM Table
]

//On execute la requete
Sql = Remplace( Sql, "@sCondition", sCondition )
Si pas HExecuteRequeteSql( Rs, HRequeteDefaut, Sql ) Alors
  Erreur( HErreurInfo())
  Retour
Fin

POUR TOUS RS
  //Traitement des données ici
FIN

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5474&post_id=22486