Bonsoir,
J'ai fait une recherche a l'aide d'un hfiltre comme ceci :
Code de la procédure local FILTRE()
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 PROCEDURE Cherche2() sRubCléParcours,sfiltre est une chaîne // on efface la table TableSupprimeTout(FI_Table_Recherche.TABLE) sfiltre = filtre() // On active le filtre sRubCléParcours = HFiltre(Intervention,sfiltre) // Parcours des enregistrements filtrés HLitPremier(Intervention,sRubCléParcours) TANTQUE PAS HEnDehors() //remplir la table TableAjouteLigne(FI_Table_Recherche.TABLE,Intervention.IDIntervention,... Intervention.IDEleve,Intervention.Nom,Intervention.Etablissement,Intervention.Classes,... Intervention.Rs,Intervention.Difficultes,Intervention.Intervention,Intervention.Motifs,... Intervention.Pai,Intervention.Suivi,Intervention.Suites,Intervention.Conclusion) HLitSuivant(Intervention, sRubCléParcours,ccSansCasse) FIN // On désactive le filtre HDésactiveFiltre(Intervention)
Donc, la, si certaines cases sont cochées, il devrait ajouter au filtre la recherche de la valeur.
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
31
32
33
34
35
36
37
38
39
40 sFiltre est une chaîne sFiltre = "Nom~]'"+valNom+"'"... +" ET Rs~]'"+ValDate+"'"... +" ET Classes~]'"+valClasses+"'"... +" ET Difficultes~]'"+ValDifficultes+"'"... +" ET Pai~]'"+ValPai+"'"... +" ET Suites~]'"+ValSuites+"'"... +" ET Suivi~]'"+ValSuivi+"'"... +" ET Conclusion~]'"+ValConclusion+"" SI FEN_Menu.ValNonVu = 1 ALORS sFiltre = sFiltre + " ET Non_vu='+ValNonVu+''" FIN SI FEN_Menu.ValRas = 1 ALORS sFiltre = sFiltre + " ET RAS='+ValRas+''" FIN SI FEN_Menu.ValAvoir = 1 ALORS sFiltre = sFiltre + " ET A_voir='+ValAvoir+''" FIN SI FEN_Menu.ValArchiver = 1 ALORS sFiltre = sFiltre + " ET Archiver='+ValArchiver+''" FIN SI FEN_Menu.ValAvis = 1 ALORS sFiltre = sFiltre + " ET Avis='+ValAvis+''" FIN SI FEN_Menu.ValARevoir = 1 ALORS sFiltre = sFiltre + " ET A_revoir='+ValARevoir+''" FIN SI FEN_Menu.ValAmenagement = 1 ALORS sFiltre = sFiltre + " ET Amenagement='+ValAmenagement+''" FIN SI FEN_Menu.ValRecoursSoins = 1 ALORS sFiltre = sFiltre + " ET Recours_soins='+ValRecoursSoins+''" FIN RENVOYER sFiltre
Lorsque je met a la place du HFILTRE() un
La, le bon code apparait mais, il y a une erreur, sans doute le code de la procédure ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 trace(filtre())
Voila l'erreur :
Erreur lors de l'initialisation du filtre
( en ROUGE l'érreur )Erreur à la ligne 21 du traitement Procédure locale Cherche2.
Vous avez appelé la fonction HFiltre.
Erreur lors de l'initialisation du filtre.
Informations techniques
Projet : SoftMed
Dump de l'erreur du module <WD100SQL.DLL> <10.00Bc>.
- Appel WL :
Traitement de <FEN_Menu.PROCEDURE.Cherche2>, ligne <21>, thread <0>
Fonction <HFiltre>, n° de syntaxe <3>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 70209
- Code erreur WD55 : 209
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ?
Erreur lors de l'initialisation du filtre.
- Infos de debug :
iesql=2001
Fonction (7,31)
- Infos attachées :
EIT_LOGICALTABLENAME : <Intervention>
EIT_DATEHEURE : 07/02/2008 20:56:47
EIT_PILEWL :
Procédure locale Cherche2 (FEN_Menu.PROCEDURE.Cherche2), ligne 21
Clic sur BTN_Suivant (FEN_Menu.ONG_Onglet1.BTN_Suivant), ligne 1
- Pas d'identifiant dans le .err
Merci de m'aider,
@+
Partager