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 modifier un type de contrôle ?


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Par défaut Comment modifier un type de contrôle ?
    Bonjour,

    En fonction d'un choix effectué dans une liste déroulante (cbo_researchitem), je cherche à modifier une zone de texte (txt_research4) en zone de liste déroulante, mais je n'y parviens pas !
    Voilà ce que j'ai essayé après quelques fouilles, mais ne suis pas sûr que la propriété ControlType soit celle qu'il faut (!) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub cbo_researchitem_AfterUpdate()
     
    If cbo_researchitem = "Choix1" Then
        If txt_research4.ControlType = acTextBox Then
           txt_research4.ControlType = acComboBox
        Else
           txt_research4.ControlType = acTextBox
        End If
    End If

    J'ai aussi essayé plus directement sans rajouter le If Then à l'intérieur, mais pour le même résultat, à savoir :

    "Erreur d'éxecution "2136", Pour définir cette propriété, ouvir le formulaire en mode création."

    Que dois-je faire ? Suis-je sur la bonne voie ?

    Merci beaucoup d'avance !

    Kareg.

    Edit: Précision qui a sûrement son importance : je me trouve dans l'entête du formulaire, pour tous les contrôles mis en jeu !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    ca me parait douteux comme méthode, je serais plutôt parti sur des contrôles visibles ou cachés, et switcher entre les deux... ca fait peut être beaucoup de controles ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

    Toute modification de ce style (si c'est possible je ne l'ai jamais testé), doit se faire en mode création.

    • Cela implique que ton code doit se trouver dans un module et non dans un formulaire.
    • Dans ce module tu dois ouvrir ton formulaire en mode création (voir les paramètres de DoCmd.OpenForm).
    • Tu lances ton code
    • Tu fermes le formulaire en l'enregistrant
    • Tu réouvres ton formulaire en mode normal.


    Je ne vois pas trop l'intérêt, si tu veux une zone de texte c'est que tu n'as qu'un choix, à ce moment il faut ne mettre qu'une valeure dans la liste déroulante.

    Starec

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Par défaut
    Bonjour à vous 2 et merci pour les réponses rapides !

    Citation Envoyé par Starec Voir le message

    Je ne vois pas trop l'intérêt, si tu veux une zone de texte c'est que tu n'as qu'un choix, à ce moment il faut ne mettre qu'une valeure dans la liste déroulante.

    Starec
    En fait il s'agit d'un formulaire de recherche (peut-être un peu compliqué mais je suis parti là-dessus!):

    - dans la section détail, il y a les résultats de la recherche.

    - dans l'entête de formulaire il y a : une liste déroulante spécifiant ce que l'on veut chercher, et des contrôles indépendants qui changent de contenu en fonction du choix de la liste déroulante.
    En fonction de ce choix, et pour faciliter la recherche, je voulais proposer une liste déroulante pour certains contrôles (par exemple, choix entre une centaine de communes).
    Enfin pour lancer la recherche il y a un bouton de commande.

    Voilà le pourquoi de la chose, maintenant ce n'est pas indispensable. Je vais de ce pas essayer d'appliquer les conseils avec le module.

    Merci !

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

    Je pense que l'idée de jpchek est la mieux dans ton cas.

    Car quand tu vas ouvrir ton formulaire en mode création, tu va perdre tes données de critéres, il faudrait les sauvegarder et les reprendre, cela va être une galère monstre à gérer.

    Starec

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Par défaut
    OK dans ce cas je pars pour la solution Jpcheck

    Merci bien !


    Kareg.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/12/2014, 14h03
  2. Comment modifier le texte des contrôles !?
    Par sinfoni dans le forum Windows Forms
    Réponses: 10
    Dernier message: 04/01/2012, 14h55
  3. Réponses: 0
    Dernier message: 26/05/2010, 14h16
  4. Réponses: 3
    Dernier message: 31/01/2008, 10h09
  5. comment modifier le type d'une table?
    Par patchouli dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/01/2007, 10h49

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