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 :

Sélection indifférente dans deux combobox


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Points : 78
    Points
    78
    Par défaut Sélection indifférente dans deux combobox
    Bonjour,

    Après de longues recherches, je bute encore.
    J'ai réalisé une petite application qui permet la création d'une fiche-client avec sélection automatique de la ville à partir du code postal entré par l’utilisateur. Jusque là, cela marche parfaitement.
    Malheureusement, lors des tests, il s'est avéré rapidement qu'il arrive souvent que l'utilisateur ne connaisse que le nom de la ville et en ignore le code postal correspondant. Donc si la sélection ne se fait qu'à partir du code postal, dans ce cas particulier, cela pose problème.
    Il me semble donc qu'il me faut rajouter du code VBA pour parvenir à mes fins, mais là c'est moi qui suis bloqué. Je tatônne et je n'y arrive pas.

    Voilà ce qui marche et qui permet de faire la sélection par le code postal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub ComboCodePostal_AfterUpdate()
        Me.ComboVille = ""
        Me.ComboCodePostal.Requery
        Me.ComboCodePostal.SetFocus
        Me.ComboCodePostal.Dropdown
    End Sub
     
    Private Sub ComboVille_Exit(Cancel As Integer)
        Me.Refresh
        Me.Requery
    End Sub
    Source de la comboCP
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tblCodesPostaux.Cp
    FROM tblCodesPostaux
    GROUP BY tblCodesPostaux.Cp
    ORDER BY tblCodesPostaux.Cp;
    Source de la comboVille
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tblCodesPostaux.Ville, tblCodesPostaux.Cp
    FROM tblCodesPostaux
    WHERE (((tblCodesPostaux.Cp)=[Forms]![frmClient]![tblclient sous-formulaire1].[Form]![ComboCodePostal]))
    ORDER BY tblCodesPostaux.Ville;

    Comment donc faire pour que chaque combobox permette la saisie du code postal et lui affecte la ville correspondante OU inversement que l'autre combobox permette la saisie de la ville et lui affecte le code postal correspondant tout en incrémentant la table "clients" bien évidemment ?

    Je vous remercie de bien vouloir me faire part de vos conseils.
    Cordialement.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    En fait c'est tout simple car l'information peut être dans chaque combobox en 2e colonne (qui est en pratique la 1 car il y a une 0 ). C'est déjà le cas d'ailleurs pour la combo de la ville :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Comboville_AfterUpdate()
        Me.ComboCodePostal = Comboville.column(1)
        Me.refresh
    End Sub

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Points : 78
    Points
    78
    Par défaut
    Merci de votre réponse.
    J'ai rajouté ce que vous indiquez et je ne comprends pas, cela ne marche pas.
    Je peux saisir la ville dans la ComboBoxVille mais la ComboCodepostal ne me propose pas le code postal correspondant, elle déroule tous les codes postaux de France.
    Que pourrais-je avoir oublié de paramétrer ?
    J'ai pourtant bien rajouter le code que vous proposiez.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Comboville_AfterUpdate()
        Me.ComboCodePostal = Comboville.column(1)
        Me.refresh
    End Sub
    Qu'aurais-je du faire d'autre ?
    Désolé, j'ai vraiment l'impression d'être une triple buse.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Il faut modifier la source de combocp pour qu'elle ait 2 colonnes comme comboville

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Points : 78
    Points
    78
    Par défaut
    Il faut modifier la source de combocp pour qu'elle ait 2 colonnes comme comboville
    J'ai honte de mon ignorance mais sauf erreur de ma part, le source de ComboVille n'a pas 2 colonnes et malgré tout la sélection par le code postal marche bien mais pas dans l'autre sens.
    Pourriez-vous me montrer un exemple de modification de la source de ComboCp comme vous le suggérez ?
    Je conçois que c'est basique mais j'ai beau cherché et essayé mais ce que je fais ne fonctionne pas. mais alors pas du tout.
    Ma table tblCodesPostaux a 3 champs : cp, ville, IdCpVille
    Est-ce que l'ordre des champs pourrait expliquer que la sélection des colonnes 1 ou 2 soit du coup mal affectée.
    Pourriez-vous m'éclairer, j'avoue que je pédale tout en faisant du sur-place.

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    La requete de comboville a 2 champs donc même si tu as choisi de ne pas afficher la 2e colonne dans les paramètres du champ elle est là quand même

    D'ailleurs c'est dommage de ne pas l'afficher car ça peut aider l'utilisateur !

Discussions similaires

  1. [AC-2010] Sélection multiple dans une ComboBox du Ruban
    Par curt dans le forum IHM
    Réponses: 2
    Dernier message: 22/08/2011, 22h11
  2. Réponses: 6
    Dernier message: 26/08/2009, 12h14
  3. Comment afficher deux champs d'une table dans une comboBox
    Par lamia2007 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/04/2007, 08h17
  4. [Validator] Sélection obligatoire dans une combobox
    Par phpaide dans le forum Struts 1
    Réponses: 1
    Dernier message: 13/12/2006, 10h57
  5. Sélection d'un élément dans une combobox
    Par cluis dans le forum IHM
    Réponses: 2
    Dernier message: 17/03/2006, 14h23

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