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

Access Discussion :

Modification d'un contrôle de sous formulaire


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Modification d'un contrôle de sous formulaire
    Bonjour,Je souhaite modifier la légende de l'étiquette d’un contrôle de sous formulaire par VBA dont voici le code.Dim VarFormulaire As StringDim VarSousFormulaire As StringDim VarNomContrôle As StringDim VarAnglais As String
    VarFormulaire = "Accueil"VarSousFormulaire = "Site Sous-formulaire"VarNomContrôle = "Nom site_Étiquette"VarAnglais = "Name" Forms![VarFormulaire]![VarSousFormulaire].Form![VarNomContrôle].Caption = VarAnglais

    La dernière ligne de commande ne marche pas alors que si tape la ligne suivante sans passer par des variables ça marche.Forms![Accueil]![Site Sous-formulaire].Form![Nom site_Étiquette].Caption = "Name"
    Quelqu’un peut il m’aider sur la syntaxe de ma ligne de commande.Merci par avance.

  2. #2
    Membre régulier

    Inscrit en
    Août 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 102
    Points : 119
    Points
    119
    Par défaut
    Salut

    Je vois trois problèmes dans ta question :

    1. Tu ne peux pas utiliser des variables dans le code lui-même: ça marche avec certains langages (batch) mais pas VBA. Si tu tapes Forms![VarFormulaire], Access va simplement chercher un formulaire nommé VarFormulaire, sans chercher à réécrire la formule.
    Pour ce que tu veux faire, tu dois utiliser la syntaxe “explicite” plutôt que les crochets :
    Forms(“NomDuFormulaire”).Controls(“NomDuContrôle”).Propriété = ...
    En utilisant les variables ça donne:
    Forms(varFormulaire).Controls(varControle).Propriété = ...

    2. Pour agir sur un sous-formulaire il faut l’appeler directement, comme si c’était un formulaire indépendant :
    Forms(VarNomContrôle).Caption = VarAnglais

    3. Fais des efforts de présentation dans ta question et pense à utiliser la balise Code, tu auras plus de chances d’obtenir une réponse...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Modification d'un contrôle de sous formulaire
    Bonjour,

    La solution N°1 c’est ok ça marche.

    Par contre la solution N°2 ne marche pas. Je n’arrive pas à agir sur le sous formulaire pour modifier la légende d’une étiquette.

    Merci pas avance pour votre aide.

  4. #4
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Citation Envoyé par Meduse
    1. Tu ne peux pas utiliser des variables dans le code lui-même: ça marche avec certains langages (batch) mais pas VBA. Si tu tapes Forms![VarFormulaire], Access va simplement chercher un formulaire nommé VarFormulaire, sans chercher à réécrire la formule.
    Pour ce que tu veux faire, tu dois utiliser la syntaxe “explicite” plutôt que les crochets :
    Forms(“NomDuFormulaire”).Controls(“NomDuContrôle”).Propriété = ...
    En utilisant les variables ça donne:
    Forms(varFormulaire).Controls(varControle).Propriété = ...
    +1

    Citation Envoyé par Meduse
    3. Fais des efforts de présentation dans ta question et pense à utiliser la balise Code, tu auras plus de chances d’obtenir une réponse...
    + 1000


    Citation Envoyé par Meduse
    2. Pour agir sur un sous-formulaire il faut l’appeler directement, comme si c’était un formulaire indépendant :
    Forms(VarNomContrôle).Caption = VarAnglais
    Non, pour pointer un sous formulaire il faut passer par le formulaire principal qui le contient dans un contrôle et utiliser la propriété Form de ce contrôle.

    Je vous laisse trouver la syntaxe dans la FAQ.
    (\ _ /)
    (='.'=)
    (")-(")

Discussions similaires

  1. Accès à un contrôle de sous formulaire
    Par Hydex dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/06/2007, 15h05
  2. Liste déroulante qui contrôle un sous-formulaire
    Par Krowser dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 10h56
  3. Réponses: 11
    Dernier message: 16/05/2006, 12h34
  4. Réponses: 23
    Dernier message: 13/10/2005, 16h35
  5. Réponses: 9
    Dernier message: 22/06/2005, 08h45

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