Message de rapport:
 

Re: Meilleure solution pour faire une recherche multi criteres

Sujet: Re: Meilleure solution pour faire une recherche multi criteres
par R&B sur 11/4/2006 12:51:48

Bonjour

Prenons par exemple une recherche sur le nom prénom dans une fiche élève...

Cela donnera :

sSQL est une chaine = "SELECT * FROM ELEVE WHERE "
// on complete alors la condition selon le remplissage des critères
SI (SAISNOMDEBUT<>"" ET SAISNOMFIN<>"") ALORS
   sSQL += " NOM BETWEEN '" + SAISNOMDEBUT + "' AND '" + SAISNOMFIN +"'"
SINON
   SI SAISNOMFIN="" ALORS 
      // QUE debut, on prends les noms contanent la chaine (voirs la clause LIKE et les %)
      sSQL += " NOM LIKE  '%" + SAISNOMDEBUT + "%'"
   FIN
FIN

on peut compléter avec le choix sur le prénom

Exécution de la requete :

sSQL est une Source de Données
SI PAS hExécuteRequêteSQL(sSQL,hRequeteDefaut,cSQL) alors
   Erreur(hErreurInfo())
SINON
   // Envois le résultat dans une table mémoire
   hLitPremier(sSQL)
   TANTQUE pas hEnDehors(sSQL)
      info(sSQL.NOM,sSQL.PRENOM)
      hLitSuivant(sSQL)
FIN
// libère la source de données
hAnnuleDéclaration(sSQL)



Voila... A vous de constituer progressivement la syntaxe de votre requête en fonction de vos critères de sélection.

un petit plus : pour ajouter les AND entre les conditions du where.
Si cSQL<>"" alors sSQL+= " AND "
cSQL+= "...condition..."

Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2