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

VBA Access Discussion :

Comment ajouter un élément dans une ComboBox déjà alimentée automatiquement [Toutes versions]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 143
    Points
    143
    Par défaut Comment ajouter un élément dans une ComboBox déjà alimentée automatiquement
    Bonjour à tous!

    Dans mon formulaire, j'ai une combobox qui est déjà alimentée automatiquement par une requête.
    Mais j'aimerais ajouter une autre option à la liste obtenue, en première position.

    J'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!SelectMonth.RowSource = Me!SelectMonth.RowSource & ";Nouvelle_Valeur"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SelectMonth.RowSource = Me.SelectMonth.RowSource & ";Nouvelle_Valeur"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SelectMonth.AddItem = "Nouvelle_Valeur"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SelectMonth.AddItem("Nouvelle_Valeur", 1)
    Mais rien n'y fait: je n'ai que les valeurs qui résultent de la requête.

    Un petit coup de main, siouplé

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    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 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Bonjour,

    C'est possible avec UNION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!SelectMonth.RowSource = Me!SelectMonth.RowSource & " union select distinct 12 from nimportequelletable"
    Bien sûr, il faut que le 2e select soit compatible avec le 1er
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 143
    Points
    143
    Par défaut
    Salut Nico,

    Et merci de prendre le temps de me répondre.

    En fait, la valeur que je veux ajouter est une simple ligne.
    Dans les faits, la requête récupère des mois et les met dans cette liste. J'aimerais ajouter la valeur "Tous les mois", par exemple.

    Du coup, le code que j'avais essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SelectMonth.RowSource = Me.SelectMonth.RowSource & "Tous les mois"
    devrait marcher, non?
    Je comprends pas pourquoi ça ne marche pas...

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    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 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Execute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox SelectMonth.RowSource
    Et tu verras que ça n'a pas bonne mine
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 143
    Points
    143
    Par défaut
    Effectivement ^^

    Mais alors du coup, comment je peux faire...?

    Déjà, si je le mets dans le "BeforeUpdate" c'est la bonne section?

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    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 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Si c'est toujours pareil il vaut mieux le prévoir d'origine dans le rowsource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SelectMonth.RowSource = "select distinct mois from t union select distinct 'tous' from t order by 1;"
    Il se peut que ça rale d'unir un mois (numérique) et une chaine : dans ce cas une petite conversion s'impose
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 143
    Points
    143
    Par défaut
    Merci, t'es un chef, c'est exactement ce que je voulais!

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

Discussions similaires

  1. Comment ajouter un élément dans un ComboBox ?
    Par gadalla dans le forum Langage
    Réponses: 20
    Dernier message: 30/05/2014, 16h08
  2. Réponses: 5
    Dernier message: 02/10/2009, 16h07
  3. [AC-2003] comment ajouter un élément dans une liste avec InputBox
    Par spacesheep dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/10/2009, 13h33
  4. Réponses: 3
    Dernier message: 25/01/2009, 17h32
  5. Réponses: 8
    Dernier message: 01/03/2008, 13h33

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