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

IHM Discussion :

type de données + combobox


Sujet :

IHM

  1. #1
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut type de données + combobox
    Bonjour, j'aimerais éclaircir ce problème une bonne fois pour toute, car ce n'est pas la première fois que je le rencontre.

    Comment faire apparaitre dans une comboBox des données en toute lettre quand dans la table, le champ est définit comme numérique?

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 911
    Points : 4 809
    Points
    4 809
    Par défaut
    On ne recherche pas trop le w-e ...

    Pour la source de données de ta combobox, tu saisis une requete listant 2 champs ton champ numérique et le libellé souhaité;

    puis tu modifies dans les propiétés de la combo :
    nb de colonnes : 2
    ...
    largeur : 0 ; 2


  3. #3
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re alors pour ta solution je comprend, mais se que je ne comprend pas c'est:

    le libellé souhaité
    C'est quoi sa?

    Pour le moment, j'ai déjà fait une requête, et j'obtiens cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tbl_Article.Ligne FROM tbl_Article GROUP BY tbl_Article.Ligne ORDER BY tbl_Article.Ligne;
    Nom de ma table: tbl_Article
    Nom du champ (numérique): Ligne

  4. #4
    Membre régulier Avatar de voyou
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 129
    Points : 117
    Points
    117
    Par défaut
    Voilà l'aperçu des propriétés en fichier joint.
    Tu as dans la requête, trois colonnes sélectionnées. Les colonnes visibles sont les deux dernières. Celle qui est liée est la 3ème, c'est à dire celle qui s'affichera dans la combobox une fois ton article sélectionné.

  5. #5
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    ah mais sa j'ai compris, c'est pour le formulaire sur lequel on travail depuis tout à l'heure, avec les check Box et les combo box!

    Dans mes comboBox, j'ai des chiffres, alors que ma requête est la suivante, par exemple pour la comboBox ligne, j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tbl_Article.Ligne, tbl_Article.Ligne FROM tbl_Article GROUP BY tbl_Article.Ligne, tbl_Article.Ligne ORDER BY tbl_Article.Ligne, tbl_Article.Ligne;
    Là je n'est qu'un champs que je pioche dans ma table article?

    Mes propriétés, devrais donc être

    -Nombre de colonne:1
    -Largeur colonne:2.549cm
    -Colonne liée:1

    Et après dans ma liste j'ai encore des chiffres!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Qui y a t'il comme donnée dans ton champ ligne ?

    Starec

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 911
    Points : 4 809
    Points
    4 809
    Par défaut
    Met ce code , en replacant numligne par le numérique qui est lié au controle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT  DISTINCT tbl_Article.numLigne, tbl_Article.Ligne FROM tbl_Article ORDER BY  tbl_Article.Ligne;
    ainsi tu afficheras 2 colonnes dans la liste déroulante ordonnées selon ligne.

    Puis les propriétés doivent être être :

    -Nombre de colonne:2
    -Largeur colonne: 0 ; 2.549cm
    -Colonne liée:1

    ainsi le champ lié a ton controle est bien le 1er : "numLigne" que tu n'affiches pas dans le controle parce que tu as saisi une largeur 0 pour la première colonne
    et ce sera bien Ligne qui sera affiché


  8. #8
    Membre régulier Avatar de voyou
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 129
    Points : 117
    Points
    117
    Par défaut
    J'ai regardé aussi et ça me fait donne le chiffre au lieu du texte pour n'importe quel essai que je fais.

    Edit: Je sais pas zut...

    Reedit: J'ai réussi! J'ai rajouté la table tbl_lignes dans la requête d'où j'ai sorti "Désignation". Sur la combobox, j'ai mis deux colonnes (0 cm; 2,54 cm) et colonne liée "2". Bon, j'ai le texte qui s'affiche mais j'ai toujours une erreur au niveau de lblstats. Et là je sais pas plus.

  9. #9
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 911
    Points : 4 809
    Points
    4 809
    Par défaut
    Reprenons à la base :
    SELECT DISTINCT tbl_Article.numLigne, tbl_Article.Ligne FROM tbl_Article ORDER BY tbl_Article.Ligne;
    Ca suppose que la table tbl_Article où tu vas piocher tes articles se compose de:
    . numLigne : type numérique Long : peut être ta clé primaire en auto-incrément
    .ligne : type texte : la désignation que l'on veut afficher dans le controle.

    Alors le controle est appelé cmbNumLigne :
    1. Il a numligne en source de données
    2. On lui met la requete ci-dessus comme source de liste
    3. On modifie les pptés
      -Nombre de colonnes:2
      -Largeur colonne: 0 ; 2,549cm
      -Colonne liée:1


  10. #10
    Membre régulier Avatar de voyou
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 129
    Points : 117
    Points
    117
    Par défaut
    Oui micniv, mais non.
    Ligne de la table tbl_Article est issu d'une requête sur la table tbl_Lignes. tbl_Lignes comprend id_Ligne et Designation; tbl_Article.Lignes comprend la colonne liée correspondant à l'id_Ligne. Et je pense que c'est de là que vient le problème.

  11. #11
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Ayant vu la base de données dans un autre post je peux répondre.
    Il manquait un élément important à Micniv pour bien cerner le contexte.

    Ton souci Moilou2 s'explique par le fait que dans ta table tbl_Article, le champ numLigne est numérique et que tu as défini une liste de choix.
    Cette liste de choix fait appel à une autre table, et elle est configurée de manière à ce que la colonne affichée soit la colonne texte, tandis que la colonne liée (et masquée) est la colonne numérique.
    Code , Source liste de choix : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tbl_Lignes.Id_Ligne, tbl_Lignes.Designation FROM tbl_Lignes;
    Lorsque tu ouvres la table tbl_Article ou une requête sur tbl_Article, le mode feuille de données permet d'exploiter la liste de choix configurée pour le champ.
    Le champ est vu "au travers" de la liste de choix.
    Dans une zone de liste (modifiable ou pas) d'un formulaire, cette fonctionnalité n'existe plus. La zone de liste te donnes les vraies valeurs.
    Dans ta zone de liste (formulaire) il te faut par conséquent, une requête sur ta table tbl_Article plus la table utilisée comme source de la liste de choix du champ numLigne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT tbl_Lignes.Id_Ligne, tbl_Lignes.Designation 
    FROM tbl_Lignes INNER JOIN tbl_Article ON  tbl_Lignes.Id_Ligne = tbl_Article.Ligne
    ORDER BY tbl_Lignes.Designation;
    La réponse à
    Comment faire apparaitre dans une comboBox des données en toute lettre quand dans la table, le champ est définit comme numérique?
    est : en incluant dans la requête source de la comboBox, la table contenant le champ texte affiché pour le champ numérique.

    En espérant que ça soit plus clair.
    A+

  12. #12
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    ok je te remerci beaucoup!

    @+

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

Discussions similaires

  1. interbase : types de donnés : AutoIncrement et Date ???
    Par delphien dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/04/2004, 17h29
  2. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50
  3. Types de données interbase
    Par Clotilde dans le forum InterBase
    Réponses: 2
    Dernier message: 18/11/2003, 14h10
  4. Réponses: 2
    Dernier message: 22/09/2003, 11h23
  5. Convertir un type de donnée sous SQL Server
    Par Fleep dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/08/2003, 15h15

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