IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Recherche de cases à cocher


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Par défaut Recherche de cases à cocher
    Bonsoir,
    J'ai fait une recherche a l'aide d'un hfiltre comme ceci :
    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)
    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
    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
    Donc, la, si certaines cases sont cochées, il devrait ajouter au filtre la recherche de la valeur.
    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 ...
    Voila l'erreur :
    Erreur lors de l'initialisation du filtre
    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
    ( en ROUGE l'érreur )
    Merci de m'aider,
    @+

  2. #2
    Membre éclairé Avatar de Le Shadow
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 265
    Par défaut
    Peux-tu me coller plus bas un exemple de ce qui pourrait etre la veleur de sfiltre ?

    Ca ressemble à des guillemets ou des apostrophes mal placées...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Par défaut
    si toutes les cases sont cochées,
    sfiltre =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nom~]'' ET Etablissement~]'' ET Classes~]'' ET Rs~]'' ET Difficultes~]'' ET Intervention~]'1' ET Motifs~]'' ET Pai~]'' ET Suivi~]'' ET Suites~]'' ET Conclusion~]' ET Non_vu='+ValNonVu+'' ET RAS='+ValRas+'' ET A_voir='+ValAvoir+'' ET Archiver='+ValArchiver+'' ET Avis='+ValAvis+'' ET A_revoir='+ValARevoir+'' ET Amenagement='+ValAmenagement+'' ET Recours_soins='+ValRecoursSoins+''
    si je remplace hfiltre par ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     "Nom~]'"+valNom+"'"...
    	+" ET Etablissement~]'"+valEtablissement+"'"...
    	+" ET Classes~]'"+valClasses+"'"...
    	+" ET Rs~]'"+ValDate+"'"...
    	+" ET Difficultes~]'"+ValDifficultes+"'"...
    	+" ET Intervention~]'"+ValIntervention+"'"...
    	+" ET Motifs~]'"+ValMotifs+"'"...
    	+" ET Pai~]'"+ValPai+"'"...
    	+" ET Suivi~]'"+ValSuivi+"'"...
    	+" ET Suites~]'"+ValSuites+"'"...
    	+" ET Conclusion~]'"+ValConclusion+"'"
    ça fonctionne mais il n'y a pas les cases à cocher.

  4. #4
    Membre éclairé Avatar de Le Shadow
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 265
    Par défaut
    regarde... a partir de conclusion, il te manque un apostrophe...

    j'aurais aime avoir un copier/coller du contenu de la variable, mais de toute evidence, conclusion fait exploser ta requete...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Par défaut
    Donc, si j'ai bien compris, j'ajoute cet apostrophe et ça marche ?
    Après test :
    j'ai modifier "conclusion" en rajoutant un apostrophe
    sfiltre=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nom~]'' ET Etablissement~]'' ET Classes~]'' ET Rs~]'' ET Difficultes~]'' ET Intervention~]'1' ET Motifs~]'' ET Pai~]'' ET Suivi~]'' ET Suites~]'' ET Conclusion~]'' ET Non_vu='+ValNonVu+'' ET RAS='+ValRas+'' ET A_voir='+ValAvoir+'' ET Archiver='+ValArchiver+'' ET Avis='+ValAvis+'' ET A_revoir='+ValARevoir+'' ET Amenagement='+ValAmenagement+'' ET Recours_soins='+ValRecoursSoins+''
    Voila l'erreur :
    Erreur lors de l'initialisation du filtre
    La chaîne n'a pas de fin : ' manquant

    Erreur à la ligne 21 du traitement Procédure locale Cherche2.
    Vous avez appelé la fonction HFiltre.
    Erreur lors de l'initialisation du filtre.
    La chaîne n'a pas de fin : ' manquant


    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.
    La chaîne n'a pas de fin : ' manquant

    - Infos de debug :
    iesql=2001
    Fonction (7,31)

    - Infos attachées :
    EIT_LOGICALTABLENAME : <Intervention>
    EIT_DATEHEURE : 08/02/2008 17:44:13
    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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 223
    Par défaut
    OK,
    donc dans la procédure filtre()
    j'ai changé les guillemets de place:
    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
     
    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
    La, ça fonctionne.
    Lors du trace, sa agit comme il faudrait mais, les enregistrements ne sont pas correctement triés.
    Mon but est d'ajouter un code correspondant a la case cochée pour lui dire "tu cherche en plus tous ceux qui ont cette case cochée"
    Mais, il me tri tout et n'importe quoi ( des fois il en affiche certains, des fois d'autres ... )

    Merci,
    @+

Discussions similaires

  1. recherche aléatoire zone case à cocher
    Par rose0729 dans le forum IHM
    Réponses: 9
    Dernier message: 31/08/2012, 15h56
  2. [AC-2003] Recherche multicritère et case à cocher
    Par maringot dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/07/2011, 08h29
  3. Recherche logiciel de lecture de cases à cocher (LAD)
    Par roanoke dans le forum Imagerie
    Réponses: 0
    Dernier message: 27/11/2007, 22h14
  4. recherche multicritéres case à cocher
    Par froutloops62 dans le forum Access
    Réponses: 2
    Dernier message: 16/01/2007, 13h34
  5. [Conception] formulaire et case à cocher et recherche dans une base de donnée
    Par olivier_1970 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 25/06/2006, 01h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo