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 :

Syntaxe VBA pour modifier la source d'un contrôle [AC-2013]


Sujet :

IHM

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 423
    Points : 133
    Points
    133
    Par défaut Syntaxe VBA pour modifier la source d'un contrôle
    Bonjour à tous,

    Petite question de syntaxe VBA pour modifier la source d'un contrôle.

    J'ai un état unique dont je souhaite changer le titre en fonction de la requête sur laquelle il est basé, qui n'est pas toujours la même.

    Je voudrais combiner du texte et le compte des enregistrements de la requête.

    Si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="STAGES" & " (" & CpteDom("*";"R_Stages") & ")"
    dans source contrôle de la feuille de propriété de l'état, ça fonctionne.

    Par contre, en VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Forms!F_Stages.Auto_EnTete0.Caption = "STAGES" Then
       Me.Auto_EnTete0.ControlSource = "STAGES" & " (" & CpteDom("*";"R_Stages") & ")"
    End If
    me dit Erreur de compilation, attendu séparateur de liste ou ) en me montrant le ;

    Qu'est ce qui ne va pas ?

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 345
    Points : 23 805
    Points
    23 805
    Par défaut Grammaire
    Bonjour

    Quand tu es dans du code VBA, le séparateur de paramètre est TOUJOURS la virgule (,). Il ne dépend pas des paramètres régionaux.
    Il faut aussi utiliser le nom anglais des fonctions. La aussi les paramètres régionaux ne s'appliquent pas.

    La bonne syntaxe devrait être :

    Quand tu es dans du SQL cela s'applique aussi.

    En passant, si tu utilises le nom anglais dans l'éditeur de requête, Access le traduit automatiquement dans la langue voulue MAIS il faut quand même utiliser le point-virgule ( comme séparateur.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 423
    Points : 133
    Points
    133
    Par défaut
    Merci René mais en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Auto_EnTete0.ControlSource = "STAGES" & " (" & DCount("*", "R_Stages") & ")"
    ça ne fonctionne toujours pas. Quand je mets la , au lieu de ; il y a automatiquement un espace qui s'insère devant le "R_Stages" mais ensuite au moment d'ouvrir l'état j'ai une boite de dialogue me demandant d'entrer une valeur de paramètre...

  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
    Bonjour à tous les 2,

    Sauf erreur, quand le titre est généré en VBA (donc à chaque impression), il suffit de modifier .caption et non .controlsource
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 423
    Points : 133
    Points
    133
    Par défaut
    Cela ne fonctionne toujours pas

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 345
    Points : 23 805
    Points
    23 805
    Par défaut
    Peux-tu mettre un exemple de ce que tu attends ?

    Quel est le nom du paramètre demandé par Access ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 423
    Points : 133
    Points
    133
    Par défaut
    Je ne sais pas si je pourrai mieux expliquer que dans mon premier post.

    Mon état unique s'ouvre différemment en fonction de la requête sur laquelle il est construit. Pour chaque requête le titre de l'état doit donc changer, et le compte des enregistrements aussi.

    Actuellement, j'ai d'un côté une étiquette avec le titre, et de l'autre une zone de texte avec le compte des enregistrements, dont la source contrôle est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="(" & CpteDom("*";"R_Stages") & ")"
    Cela fonctionne très bien mais je voudrais pour une question de mise en page associer le titre et le compte dans le même contrôle.

    Avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Auto_EnTete0.ControlSource = "STAGES" & " (" & DCount("*", "R_Stages") & ")"
    le paramètre demandé est STAGES (14), le 14 correspondant au nombre d'enregistrement trouvé.

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 345
    Points : 23 805
    Points
    23 805
    Par défaut
    Essaye cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Auto_EnTete0.ControlSource = "=""STAGES" & " (" & DCount("*", "R_Stages") & ")"""
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 423
    Points : 133
    Points
    133
    Par défaut
    Ça fonctionne, problème résolu ! Merci

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/03/2015, 14h00
  2. VBA pour modifier des calculs
    Par Karolyne49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/06/2013, 13h08
  3. Formule VBA pour modifier contenu celules
    Par Phoceens dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/03/2009, 18h37
  4. Syntaxe VBA pour fusionner deux lignes
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2009, 09h13
  5. syntax vb pour modifier la valeur d'un champs texte
    Par damien40 dans le forum VBA Access
    Réponses: 13
    Dernier message: 22/04/2008, 17h27

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