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 :

Renommer le nom d'un contrôle [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 23
    Par défaut Renommer le nom d'un contrôle
    Bonjour,

    J'ai actuellement de nombreux labels sur mon formulaire (environ 300).

    Je dois les nommer d'une manière très précise pour pouvoir les réutiliser suivant leur.name .

    Afin de renommer dynamiquement tous mes labels, j'ai donc réalisé avec quelques lignes de code, quelques boucles imbriquées qui déterminent le name de chaque label.

    Seulement lorsque j'essaye de renommer les controls, j'ai des erreurs.
    La 1ère est "Pour définir cette propriété, ouvrez le formulaire ou l'état en mode création"

    Alors j'ai créer une macro directement sous access, qui execute ma fonction qui renomme tous mes labels, de sorte à pouvoir appeler ma fonction en mode création (peut etre y'a t-il une methode plus simple?) mais cette fois-ci j'ai une autre erreur "Microsoft Access ne peut ajouter, renommer ou supprimer le ou les controles séléctionnés".

    Et à partir de cette erreur là, c'est encore pire...sans rien toucher, j'ai ces nouvelles erreurs qui suivent :

    Je ne peux plus accéder à mes formulaires en mode création, ça fou la pagaille partout :

    - lorsque j'ouvre un formulaire (ou parfois en mode création) : "L'expression sur chargement entrée comme paramètre de la propriété type évenement est à l'origine d'une erreur. Un problème est survenu durant la communication entre microsoft access et le serveur ole ou le controle activeX"
    Une référence qui manque peut-être? Je n'y connais rien du tout alors j'ai préféré ne pas trop y toucher :/
    - et lorsque j'execute une sub toute simple genre "msgbox "coucou", il me met par exemple: Erreur 7, mémoire insuffisante

    J'ai donc d'abord cru que ça venait de ma boucle (boucle infinie?) mais, j'ai essayé de créer une nouvelle base et de modifier le name d'un seul composant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    commande0.name = "coucou"
    Mais j'ai exactement les mêmes erreurs...
    C'est la catastrophe, j'ai passé la moitié de ma journée à rechercher des solutions un peu partout sur internet mais rien de concluant!
    De plus je suis débutant en VBA et access, j'ai commencé depuis seulement 2 semaines et c'est pas facile

    Si quelqu'un a une piste, je suis preneur

    Merci à vous!

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

    Premièrement si tu renommes tes contrôles et que tu en as besoin dans la suite du code la modification du nom ne sera pas répercutée, c'est pour cela que tu des erreurs du type : "L'expression sur chargement entrée comme paramètre de la propriété type évenement est à l'origine d'une erreur. Un problème est survenu durant la communication entre microsoft access et le serveur ole ou le controle activeX"


    Philippe

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 23
    Par défaut
    Merci pour ta réponse .

    Le but est donc de les changer définitivement.
    Une fois qu'ils sont renommés je n'aurai plus besoin de le refaire, donc je pourrai enlever ce bout de code.

    Malheureusement toutes ces erreurs m'empêchent de le faire...je ne me vois pas modifier mes contrôles 1 par 1 en mode création .
    J'en ai environ 300 et j'en aurai environ le double par la suite

  4. #4
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Bonjour,
    Malheureusement, tu n'auras pas le choix.
    Tes contrôles ont tous un nom différent et tu les as liés à des événements. Événements que tu dois modifier pour que ton formulaire concorde avec tes contrôles.
    Dans tous les cas, tu dois tout te retaper un à un.

    Par contre, si tu as 300 contrôles dans ton formulaire, je pense que tu dois pouvoir optimiser celui-ci avec des sous-formulaires ou des formulaires continus, non ?

    Bon courage

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 23
    Par défaut
    Les contrôles (labels) que je souhaite modifier ne sont liés à aucun évènement, si ce n'est le bouton que j'ai créé et qui va déclencher les modifications.

    Si j'ai bien compris, il est impossible de modifier le name d'un contrôle directement dans le code ?

    Le but est de savoir avec le nom de chaque controle, les paramètres qui lui correspondent.

    Exemple : Lbl_P_1_3
    Le P m'indique que dans celui ci je vais stocker un nom de "Personnel", le 1 me donne l'id d'un enregistrement d'une table qui est liée etc.

    Pour regrouper mes contrôles, je pensais faire des groupbox ou panel (j'utilise ça quand je développe en vb.net) mais je n'ai pas trouvé ces composants .

  6. #6
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Tu peux les renommer par le code.
    Mais le code ne changera pas les noms dans d'autres codes.

    Si tu les renommes, il faut que tu passes le formulaire en mode création dans ton code et la fonction .name doit fonctionner je pense.

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

Discussions similaires

  1. Renommer le nom de l'instance
    Par user_oracle dans le forum Administration
    Réponses: 8
    Dernier message: 05/05/2009, 17h48
  2. Renommer le nom d'une colonne avec toad
    Par lightzeus dans le forum Toad
    Réponses: 4
    Dernier message: 13/08/2008, 15h34
  3. [IHM] Recherche du nom d'un contrôle
    Par nonoxp dans le forum Général Dotnet
    Réponses: 9
    Dernier message: 27/06/2007, 10h07
  4. Renommer le nom d'une carte réseau
    Par gentilemathieu dans le forum Windows XP
    Réponses: 3
    Dernier message: 25/02/2007, 12h01
  5. [WinForms][Controle] quel est le nom de ce contrôle ?
    Par cbods dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/12/2006, 22h15

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