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)
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5474&post_id=22646