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 :

Combo semi automatique [WD20]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut Combo semi automatique
    Bonjour le forum,

    Après quelques recherches, je ne parviens pas à faire exactement ce que je souhaite. Je vous explique : est-il possible de faire une combo en saisie qui en fonction de ce qui est tapé réduit la liste des possibilités?
    EXEMPLE:
    mon fichier de données(HFSQL classique)
    pomme
    banane
    abricot
    pêche
    cerise

    COMBO
    Si utilisateur tape "ri" par exemple la combo va lui proposer 2 choix : "abricot" ou "cerise"

    Je sais le faire via une table et un champ de saisie (avec la fonction "ActivFiltre) mais pas contre je bloque pour mettre en place le même système sur une combo!!
    Est-ce possible? Pouvez-vous me donner des pistes?
    Merci d'avance pour vos retours.

  2. #2
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    Bonjour,

    Je ne sais pas, si cela est possible de construire un tel filtre, ni la requête correspondante.
    En tout cas, voici une piste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    POUR TOUT Fichier x
          SI ChaîneOccurrence(Fichier.Libellé, "ri", SansCasse) > 0 ALORS
              Trace(Fichier.Libellé)
          FIN
    FIN

  3. #3
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 525
    Points
    2 525
    Par défaut
    Par HFiltre, c'est facile :

    ] Contient : prend en compte la casse des caractères
    ~] Contient : ne prend pas en compte la casse des caractères

  4. #4
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par serendib Voir le message
    Par HFiltre, c'est facile :

    ] Contient : prend en compte la casse des caractères
    ~] Contient : ne prend pas en compte la casse des caractères
    Test concluant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HFiltre(Fichier," Libellé ~] 'valeur' ")
    Merci

  5. #5
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Bonsoir à tous,

    Je vous remercie pour vos différents retours.
    J'ai du mal m'expliquer : cette fonction attends une condition de sélection (sous forme de chaîne de caractères) mais en réalité l'utilisateur connait plus au moins le contenu de la combo mais la recherche n'est pas toujours identique!!
    Elle doit se baser sur la chaîne de caractère renseignée dans la combo elle-même.
    En espérant avoir été plus précis dans ma demande?:

    Merci

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Avez-vous recherché dans ce forum ?

    https://www.developpez.net/forums/d1...namique-combo/

    Je n'ai que WD15, essayez :

    https://doc.pcsoft.fr/fr-FR/?1000021074

  7. #7
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    MaCombo..ValeurAffichée ? pour plus de détails http://doc.pcsoft.fr/?2510129&verdisp=200

    Pour l'adaptation du filtre en fonction de la valeur saisie, inspirez-vous de ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Ville = "Lyon"
    POUR TOUT Client AVEC "VilleClient = ' "+Ville+" ' "
            // Ajout des clients dans la liste
            ListeAjoute(LISTE_ListeClient, Client.NumClient)
    FIN

  8. #8
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    @Yusep
    Merci pour le premier lien... j'avais déjà lu le fil.... mais impossible de mettre en place l'ensemble des fonctions ^^ je ne sais pas trop par ou commencer?? Si vous avez un exemple ou des indications je suis preneur! Merci

  9. #9
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    Il me semble que le message que je viens de vous envoyer est passé inaperçu
    le filtre à adapter est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HFiltre(Fichier," Libellé ~] 'valeur' ")

  10. #10
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    @midou23175
    Non non votre message n'est pas passé inaperçu ^^ je vous remercie pour votre réponse
    Je suis entrain de réfléchir à comment l'adapter à ma situation.....
    Débutant sur Windev, tout ne me vient pas instantanément....

  11. #11
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    @midou23175
    Ou dois je placer ce code?
    "A chaque modification de..." ma combo?
    fichier = mon fichier de donnée : OK
    libellé = colonne de mon fichier à afficher : OK
    valeur? doit être égal à ma combo..valeurAffichée si je me trompe pas??

  12. #12
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    OK 4/4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HFiltre(Fichier, "Libellé ~] ' "+MaCombo..ValeurAffichée+" ' ")
    N.B
    - pensez à annuler le filtre si valeurAffichée de la combo =""
    pour réafficher tout le fichier
    - je pense qu'il manque dans le code en question, une instruction pour réafficher la combo, du genre TableAffiche ?

  13. #13
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    @midou23175
    je viens d'adapter votre code.... pas d'erreur de syntaxe mais lorsque je rentre dans ma conbo et que j'insère des caractères de certains libellé de mon fichier de données, je n'ai pas de tri ^^ l'ensemble de mon fichier de données s'affiche??
    Merci de votre aide

  14. #14
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    J'ai modifié mon dernier message, à lire éventuellement.

    Après la ligne HFiltre(), mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TableAffiche(MaCombo,taDébut)

  15. #15
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    voilà le code que j'ai dans "A chaque modification de ..."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI COMBO_Motif_saisine_cm..ValeurAffichée = " " ALORS
    	HDésactiveFiltre(motif_saisine_cm)
    	SINON
    	HFiltre(motif_saisine_cm, "intitule_motif ~] ' "+COMBO_Motif_saisine_cm..ValeurAffichée+" ' ")
    	ListeAffiche(COMBO_Motif_saisine_cm)
    FIN
    Mais là plus rien ne se passe??

  16. #16
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Nom : Capture.PNG
Affichages : 667
Taille : 57,7 Ko

    avec la suite de votre code j'ai le message d'erreur suivant?

  17. #17
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par samsam007 Voir le message
    voilà le code que j'ai dans "A chaque modification de ..."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI COMBO_Motif_saisine_cm..ValeurAffichée = " " ALORS
    	HDésactiveFiltre(motif_saisine_cm)
    	SINON
    	HFiltre(motif_saisine_cm, "intitule_motif ~] ' "+COMBO_Motif_saisine_cm..ValeurAffichée+" ' ")
    	ListeAffiche(COMBO_Motif_saisine_cm)
    FIN
    Mais là plus rien ne se passe??
    Justement, la syntaxe que j'ai utilisé dans le filtre (messages précédents) est erronée,
    les espaces ajoutés exprès (pour un meilleur visuel du code), faussent le résultat.

    l'emplacement de la procédure de traitement, ne convient pas dans la combo, pour diverses raisons.
    On peut utiliser 2 boutons (Filtrer) et (Annuler le filtre)

    Finalement, je vous propose ceci
    Ajouter un champ "Rechercher (Filtrer)"

    Dans le code " à chaque modification" du champ Rechercher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // à chaque modification du champ Rechercher
    HFiltre(MonFichier, "Libellé ~]'"+MoiMême+"'")
    ListeAffiche(MaCombo,taDébut)
    N.B :
    - la combo initiale, pas de code supplémentaire. fonctionnement normal avec saisie et sélection
    - pour annuler le filtre, remettre à blanc le champ "Rechercher"
    - dans code sortie de la fenêtre, mettre HDésactiveFiltre(MonFichier),
    pour parer à l'éventualité "fermeture fenêtre avec champ rechercher non vidé"

  18. #18
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Bonjour midou23175,

    Un grand merci pour ce retour.
    Je vais mettre tout cela en place
    Bonne journée à vous et au forum.

    ++

  19. #19
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par midou23175 Voir le message
    N.B :
    - la combo initiale, pas de code supplémentaire. fonctionnement normal avec saisie et sélection
    - pour annuler le filtre, remettre à blanc le champ "Rechercher"
    - dans code sortie de la fenêtre, mettre HDésactiveFiltre(MonFichier),
    pour parer à l'éventualité "fermeture fenêtre avec champ rechercher non vidé"
    En réalité, en remettant à blanc, le champ Rechercher, le filtre reste toujours activé.
    La particularité du filtre avec contient "", permet de remonter tous les enregistrements, ce qui arrange les choses.
    Donc, HDésactiveFiltre() dans code sortie fenêtre, a sa raison d'être.

  20. #20
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,

    C'est peut-être l'occasion de rappeler 3 anciennes discussions sur le forum de PC soft :

    Simulation saisie assistée : OK
    Combo avec saisie limitée aux valeurs de la liste
    Saisie assistée dans un champ sur un autre fichier

    Bon travail

    Hemgé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bloquer la saisie semi automatique du navigateur
    Par Oluha dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/02/2007, 22h53
  2. Problème avec la saisie semi-automatique d'internet explorer
    Par haltabush dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 07/02/2006, 13h23
  3. Saisie semi automatique
    Par Necron dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 06/02/2006, 09h05
  4. Saisie semi-automatique
    Par kurul1 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/01/2006, 08h20
  5. Liste déroulante en saisie semi automatique
    Par pier07 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/07/2005, 17h02

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