Message de rapport:
 

Re: Recherche ( très souple )

Sujet: Re: Recherche ( très souple )
par Le_GnU sur 9/11/2007 18:52:38

Bonsoir,
Voila le code de ma procédure "principale" :

tblVar est un tableau dynamique de 0 chaînes
Ind est un entier
sCondition est une chaîne
Rs est une Source de Données
Sql est une chaîne
sClientRecherche est une chaîne

// On efface la table
TableSupprimeTout(Table_recherche)


SI SansEspace(valNom) <> "" ALORS 
	AjouteCondition(sCondition, " [Nom] LIKE '%" + WL.Phonétique(valNom..Valeur) + "%' " )
FIN
SI SansEspace(ValDate) <> "" ALORS 
	AjouteCondition(sCondition, " [Date_int] = '" + ValDate..Valeur + "' ")
FIN
SI SansEspace(ValClasse) <> "" ALORS 
	AjouteCondition(sCondition, " [Classes] = '" + ValClasse..Valeur + "' ")
FIN
SI SansEspace(ValDifficultes) <> "" ALORS 
	ValDifficultes = CorrigeDifficultes(ValDifficultes)
	tblVar = Split( ValDifficultes, ",", Vrai )
	AjouteCondition(sCondition, " AND [Difficultes] = '" + ValDifficultes..Valeur + "' ")
	//On ajoute les conditions à partir du tableau dynamique
	POUR Ind = 1 A Dimension( tblVar)
		AjouteCondition( sCondition , RC + " [Difficultes] LIKE '%" + WL.Phonétique(tblVar[Ind]) + "%' ")
	
	FIN
FIN
SI SansEspace(ValPai) <> "" ALORS 
	AjouteCondition(sCondition," [Pai] = '" + ValPai..Valeur + "' ")
FIN
SI SansEspace(ValSuivi) <> "" ALORS 
	AjouteCondition( sCondition," [Suivi] = '" + ValSuivi..Valeur + "' " )
FIN
SI SansEspace(ValSuites) <> "" ALORS 
	AjouteCondition( sCondition," [Suites] = '" + ValSuites..Valeur + "' " )
FIN
SI SansEspace(ValNotes) <> "" ALORS 
	AjouteCondition( sCondition, " [Notes] = '" + ValNotes..Valeur + "' ")
FIN

//On construit la requête
Sql =
[
SELECT
Donnee.Nom As Nom,
Donnee.Date_int As Date_int,
Donnee.Classes As Classes,
Donnee.Difficultes As Difficultes,
Donnee.Pai As Pai,
Donnee.Suivi As Suivi,
Donnee.Suites As Suites,
Donnee.Notes As Notes
FROM
Donnee
]


//On execute la requete
Sql = Remplace( Sql, "@sCondition", sCondition )
SI PAS HExécuteRequêteSQL( Rs, hRequêteDéfaut, Sql ) ALORS
	Erreur( HErreurInfo())
	RETOUR
FIN

//On rempli la table
POUR TOUS Rs
	//remplir la table
	TableAjouteLigne(Table_recherche,Rs.Nom,...
	Rs.Date_int,...
	Rs.classes,...
	Rs.Difficultes,...
	Rs.Pai,...
	Rs.Suivi,...
	Rs.Suites,...
	Rs.Notes)
FIN
//Libération de la ressource
HAnnuleDéclaration(Rs)


En executant ce code, je vois dans ma liste mes clients.
L'ennui, c'est que ca ne marche pas comme sa evrait marcher : aucun de mes clients n'est trié !
Dans une fenetre "tri" j'ai mes champs pour rechercher mais, ca ne recherche pas ...
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