Bonjour à tous voilà j'ai un petit soucis avec le filtre que je veux appliquer.
Voici mon code:
L'enchainement est assez simple si l'utilisateur coche l'option "commencer par" alors il exécute le code qui suit. J'utilise un filtre pour faire afficher dans ma liste que les résidents commencant par les lettres que j'aurais saisie dans mon champ de saisie mot-clés sauf que la fonction hfiltre ne prend pas en compte ce qu'il y a dans le champ de saisi même en passant par une variable de type chaine. Le champ de saisi est de type texte tout comme la rubrique sur laquelle j'applique le filtre donc j'aimerais savoir ce qui convient pas et ce qu'il faudrait que je change car si je met une chaine de caractères en dur dans la fonction hfiltre cela marche très bien. Dois-je convertir la chaine contenu dans le champ de saisie ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 //verification si option "commencer par" cochée SI INT_option_tout=Faux ET INT_option_commencer_par=Vrai ALORS //verification champ de saisie non vide SI SAI_mots_cles <> " " ALORS //contenu du champ de saisi mots clés sContenuSaisi est une chaîne sContenuSaisi=SAI_mots_cles..ValeurAffichée //définition du filtre sMonFiltre est une chaîne sMonFiltre=HFiltreCommencePar(sit_hsp_Residents,Resident_Name,sContenuSaisi) SI sMonFiltre ="" ALORS Erreur("Erreur filtre:"+HErreurInfo()) FIN //positionnement sur le premier enregistrement du fichier avec filtre HLitPremier(sit_hsp_Residents,sMonFiltre) //boucle de recherche avec le)// filtre TANTQUE PAS HEnDehors() SI Contient(sit_hsp_Residents.Resident_Name, SAI_mots_cles, SansCasse)OU ... Contient(sit_hsp_Residents.First_Name, SAI_mots_cles, SansCasse) ALORS FichierVersEcran() ListeAjoute(LISTE_residents_trouves,sit_hsp_Residents.Resident_Name+ " " +sit_hsp_Residents.First_Name) FIN HLitSuivant(sit_hsp_Residents,sMonFiltre) FIN //désactivation du filtre HDésactiveFiltre(sit_hsp_Residents) FIN FIN
Merci d'avance pour vos réponses.
Cordialement.
Partager