Re: Meilleure solution pour faire une recherche multi criteres
Posté par Sogestion le 11/4/2006 14:13:34
Bonjour,
Exemple de code qui fonctionne correctement
Les critères sont repris dans des champs de saisies qui renvois NULL si vide < RNom, RAdresse .... >
LOCAL
SrcReq est une source de données
sCodeSQL est une chaîne
HAnnuleDéclaration(SrcReq)
// [< Code de la requête >]
sCodeSQL = [
SELECT [IDContact], [Nom], [Adresse], [CodePostal], [Ville], [NomContact], [Activité]
FROM Contact
WHERE [Nom] LIKE '%1%'
AND [Adresse] LIKE '%%%2%%'
AND [CodePostal] LIKE '%3%%'
AND [Ville] LIKE '%%%4%%'
AND [Activité] LIKE '%%%5%%'
AND [NomContact] LIKE '%%%6%%'
ORDER BY [Nom] ASC
]
// [< Construire requêtes >]
sCodeSQL = ChaîneConstruit(sCodeSQL, RNom, RAdresse, RCpostal, RVille, RActivité, RContact)
SI PAS HExécuteRequêteSQL(SrcReq, sCodeSQL) ALORS
Ouvre(MsgBox, " Requête", ">>> Erreur d’initialisation de la requête"+RC+HErreurInfo(), 2)
RETOUR
FIN
NbEnreg = HNbEnr(SrcReq)
SI NbEnreg > 0 ALORS
TableRecherche..FichierParcouru = "SrcReq"
TableAffiche(TableRecherche, taDébut)
EcranPremier(TableRecherche)
SINON
Ouvre(MsgBox, " Recherche", ">>> Aucun enregistrement pour cette sélection ...", 1, 1, 280, 225)
HAnnuleDéclaration(SrcReq)
ExécuteTraitement(BTAnnulCritere,trtClic)
FIN
Cordialement
Albert
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=3844&post_id=16168