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 :

Assigner des valeurs dans les Combos [WD19]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 16
    Points
    16
    Par défaut Assigner des valeurs dans les Combos
    Bonjour,

    Tout d'abord je vais expliquer mon titre un peu confus. Je suis actuellement en pleine migration depuis Access 2000 (la pointe de la technologie quoi!) vers WinDev 19. Ça plante pas mal sur les intégrations de base, mais à force, ça va passer. Pour l'instant, j'essaye de reprendre et de comprendre comment intégrer des valeurs dans mes combos:

    J'ai un combo avec les 12 mois (Janvier ... Décembre), sous Access, il y avait la possibilité de les paramétrer avec des "valeurs" pour chaque moi soit:
    Janvier;01;Février;02;Mars;03;Avril;04;Mai;05;Juin;06;Juillet;07;Août;08;Septembre;09;Octobre;10;Novembre;11;Décembre;12

    Est-ce possible aussi sous Windev? Car j'avoue qu'après lecture et relecture des exemples, ainsi que du cours d'auto-formation, je n'ai rien trouvé à ce sujet.

    Merci d'avance pour la lecture, et pour votre éventuelle réponse!

  2. #2
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    Il faut utiliser la fonction glien

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListeAjoute(ChampCombo,"NomduMois"+glien(indice))

    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    Merci de ton aide, j'avais du mal à comprendre la doc.

    Maintenant que j'ai utilisé le remplissage par programmation avec la fonction Glien, dans ma base, mes mois sont ainsi stocké numériquement au lieu de textuellement. Pourtant dans mon combo, cela s'affiche parfaitement. Alors comment faire lorsque j'ouvre une fiche, pour que le combo affiche le mois textuellement (j'entend par la que si le gLien correspond à 02 dans ma BDD, il devrait afficher Février, et non 02 lorsque j'entre sur la fiche de modification)

    J'espère que c'est clair

  4. #4
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Citation Envoyé par askior Voir le message
    Merci de ton aide, j'avais du mal à comprendre la doc.

    Maintenant que j'ai utilisé le remplissage par programmation avec la fonction Glien, dans ma base, mes mois sont ainsi stocké numériquement au lieu de textuellement. Pourtant dans mon combo, cela s'affiche parfaitement. Alors comment faire lorsque j'ouvre une fiche, pour que le combo affiche le mois textuellement (j'entend par la que si le gLien correspond à 02 dans ma BDD, il devrait afficher Février, et non 02 lorsque j'entre sur la fiche de modification)

    J'espère que c'est clair
    Si tu veux stocker la valeur affiché dans ta combo, quand tu enregistres dans ta base, pense à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomCombo..valeurAffichée
    et pour avoir la valeur de l'indice de la fonction gLien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomCombo..valeurMemorisée
    Aprés si tu veux garder les valeurs numériquement dans ta base, tu peux initialiser ta combo dans ton programme comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ListeAjoute(ChampCombo,"Janvier"+glien(01))
    ListeAjoute(ChampCombo,"Février"+glien(02))
    ListeAjoute(ChampCombo,"Mars"+glien(03))
    ...
    et pour recupérer le mois de ta table simplement faire avec pour ValeurTable le mois de Février donc 02
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListeSelectPlus(NomCombo,ValeurTable)
    J’espère t'avoir aidé, bonne chance
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    La 3e partie de ta citation est en effet mon code. Maintenant je pense que je me suis mal exprimé.

    J'ai un combo +saisie qui me retourne les chiffres stockés en text dans ma base, au lieu de retourner Février par exemple.

    Exemple:

    Ma base de donnée contient un grand nombre de client ayant acheté un logiciel. La date de leur enregistrement est stocké sous la forme de mois et année. Ma colonne mois dans ma base correspond à 01/02/03/04 etc puisque c'était une ancienne base access (ça doit surement avoir son importance).

    Lors de l'affichage de mon combo quand je clique sur la fiche de consultation de mon client, j'aimerais que ma liste combo ne m'affiche pas Nom : 864855MoisDiff.png
Affichages : 948
Taille : 845 octets mais : Mois de Diffusion [Février]

    Merci ^^

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    Je repassais par la, et je me permet de remonter un peu le topic n'ayant pas trouvé de réponse à ma question.

    Je confirme que la ListeSelectPlus ne fais pas ce dont j'ai besoin (après lecture de l'aide)
    En effet, j'aimerais avoir le mois pré-selectionné et non le numéro.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 24
    Points : 30
    Points
    30
    Par défaut
    Si tu as rempli ta liste comme te l'a indiqué Nhaps la liste devrait affciher le mois en lettre en non en chiffre.

    Citation Envoyé par Nhaps Voir le message
    S
    si tu veux garder les valeurs numériquement dans ta base, tu peux initialiser ta combo dans ton programme comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ListeAjoute(ChampCombo,"Janvier"+glien(01))
    ListeAjoute(ChampCombo,"Février"+glien(02))
    ListeAjoute(ChampCombo,"Mars"+glien(03))
    ...
    ChampCombo..ValeurAffichée -> ce qu'il t'affiche dans ta combo
    ChampCombo..ValeurMémorisée -> ce qu'il y a dans ton gLien()

    Tu dois remplir ta liste différemment que plus haut.
    Envoi nous le code d'initialisation de ta liste ça pourrait aider.

    @+

  8. #8
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    Comme l'on dis Nhaps et Akryen,tu dois initialiser ta combo avec l'ensemble des mois gérés.

    Exemple (donné dans le fil de discussion) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ListeAjoute(ChampCombo,"Janvier"+glien(01))
    ListeAjoute(ChampCombo,"Février"+glien(02))
    ListeAjoute(ChampCombo,"Mars"+glien(03))
    ...
    Ensuite tu sélectionnes la valeur avec la ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListeSelectPlus([ChampCombo],ListeCherche([ChampCombo],[ValeurBdd]))
    Tiens nous au courant, bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    Bonjour, et merci de vos réponses.
    Alors, comme l'a expliqué Nhaps, j'avais deja ajouter par programmation dans mon combo sous la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ListeAjoute(COMBO_MoisDiff,"Janvier" + gLien("01"))
    ListeAjoute(COMBO_MoisDiff,"Février" + gLien("02"))
    ListeAjoute(COMBO_MoisDiff,"Mars" + gLien("03"))
    ListeAjoute(COMBO_MoisDiff,"Avril" + gLien("04"))
    ListeAjoute(COMBO_MoisDiff,"Mai" + gLien("05"))
    ListeAjoute(COMBO_MoisDiff,"Juin" + gLien("06"))
    ListeAjoute(COMBO_MoisDiff,"Juillet" + gLien ("07"))
    ListeAjoute(COMBO_MoisDiff,"Août" + gLien ("08"))
    ListeAjoute(COMBO_MoisDiff,"Septembre" + gLien("09"))
    ListeAjoute(COMBO_MoisDiff,"Octobre" + gLien("10"))
    ListeAjoute(COMBO_MoisDiff,"Novembre" + gLien ("11"))
    ListeAjoute(COMBO_MoisDiff,"Décembre" + gLien ("12"))
    Le Glien est en texte, puisque dans ma Base de donnée, tout est stocké sous la forme 01/02/03/04 etc...

    J'ai testé différente chose avec le ListeSelectPlus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // La ligne de DSR
    ListeSelectPlus(COMBO_MoisDiff,ListeCherche(COMBO_MoisDiff, HISTORIQUE.mois))
     
    // la ligne de Nhaps
    ListeSelectPlus(COMBO_MoisDiff,HISTORIQUE.mois)
    Mais je ressors toujours avec mon combo qui me donne l'image suivante : Nom : MoisDiff.png
Affichages : 933
Taille : 845 octets

    Je me demande si ça viens pas de mon import Access.

    PS: C'est pas gentil de me downvote, j'essaye juste de comprendre comment fonctionne Windev, par ce que leur exemples internes sont trop généraux, et il n'y a aucun exemple spécifique sur les Combo

  10. #10
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    Je viens de me pencher sur ton problème, je'obtiens ton résultat avec une ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [NomDeLaCombo]=[ValeurDeLaBdd]
     
    ou 
     
    [NomDeLaCombo]..valeur=[ValeurDeLaBdd]
    Vérifies que tu n'as pas une ligne de ce genre dans le code de ta fenêtre.
    Mon hypothèse : Tu as une de ces lignes de code qui annule toute les modifications que tu essayes de mettre en place.

    Tiens nous au courant.

    BOn dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  11. #11
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    Autres pistes :
    • vérifier que l'option "Mémoriser la valeur" n'est pas coché dans les options de la combo ;
    • si tu as une ligne du type COMBO_MoisDiff=HISTORIQUE.mois ou COMBO_MoisDiff= ....



    Quel est le type de la combo : liste ou table. (Tu as ce renseignement dans l'onglet contenu) ?

    Tiens moi au courant
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 17
    Points
    17
    Par défaut Il me semble que l'on peut faire plus simple.
    Bonjour,

    Quand on crée le champ combo, il y a plusieurs choix notamment un qui crée 2 combos 1 pour les jourset un pour les mois. Vous supprimez les jours.

    Ensuite dans l'initialisation du combo, il suffit de mettre
    Moimême=valeur du mois

    et dans sélection d'un ligne du combo

    valeur du mois=moimême

    ça fonctionne nickel

  13. #13
    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
    Bonsoir,

    Je crois qu'il faut travailler plus systématiquement et vous en serez récompensé ..!

    Mais, vous débutez et n'avez donc pas encore tout découvert.

    Commencez par regarder la doc sur le type Date et sur les fonctions ChaineVersDate et DateVersChaîne.

    Reprenez l'importation de votre table Access en transformant vos deux colonnes : mois, année en une date avec par défaut jour = "01" ou selon votre choix.
    Ou faites préalablement la transformation sous Access si vous le préférez, de mnière à n'importer qu'une colonne chaine.
    Le plus simple est de transformer cela en une variable LaVariableChaîne de type chaîne "01-04-2014".

    Ensuite (sous Windev), affecter ChaineVersDate(LaVariableChaine) à votre rubrique Diffusion de type Date et de mémoriser l'enregistrement.
    La valeur stockée dans votre fichier FH sera de format "AAAAMMJJ", càd "20140401"

    Ensuite, lorsque vous lisez vos enregistrement, vous affectez cette rubrique à une variable de type date.
    L'affichage pourra se faire sous de multiples formats à découvrir dans la doc sur ChaineVersDate, en ce compris les mois 3 caractères ou complets en toutes lettres, avec ou sans majuscule.

    Bonne lecture. Cela va fonctionner !

    Hemgé

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous,

    Merci pour toutes ces réponses.
    J'ai en fait demandé à Nhaps sur skype, et la réponse était bateau. J'avais simplement oublié de retirer les liaisons par l'interface.

    (J'ai en effet utilisé les Glien et ListeSelectPlus !)

    Merci

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

Discussions similaires

  1. id à la place des valeurs dans les comboBox
    Par HaveANiceDay dans le forum Ext JS / Sencha
    Réponses: 6
    Dernier message: 04/06/2010, 12h09
  2. DataTable Format des valeurs dans les cellules
    Par Neodream dans le forum C#
    Réponses: 3
    Dernier message: 04/03/2010, 11h01
  3. Excel - Mettre des valeurs dans les cellules
    Par shuya dans le forum Débuter
    Réponses: 1
    Dernier message: 10/02/2009, 09h45
  4. DataGridView et format des valeurs dans les cellules
    Par saultapt dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/06/2008, 16h55
  5. Réponses: 2
    Dernier message: 07/03/2007, 17h12

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