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 :

[A-03] Valeur d'une colonne d'une ligne sélectionnée dans un [sous-formulaire]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut [A-03] Valeur d'une colonne d'une ligne sélectionnée dans un [sous-formulaire]
    Bonjour,

    j'ai un sous-formulaire et souhaite extraire en VBA la valeur d'une colonne sur l'enregistrement (ligne) sélectionné. Le besoin semble simple mais je n'arrive pas à trouver la réponse dans les différentes FAQ consultées.

    Merci par avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    Si ton code VBA est placé direcctement dans ton sous-formulaire, un simle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me.nom_de_ta_colonne
    suffira

    En revanche si tu a un évènement sur ton formulaire père
    alors il te faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me.nom_de_ton_controle_sous_formulaire![nom_de_ta_colonne]

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci pour cette réponse.
    Dans le code VBA du sous-formulaire, pas de problème. Je récupère bien la valeur avec l'évènement "Activation".
    Par contre, je n'arrive pas à récupérer, dans le formulaire père, la valeur de la colonne lorsque je sélectionne une autre ligne du sous-formulaire.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    A ce moment-là, 2 choix :
    soit sur l'évènement Activation de ton sous-formulaire tu mets un truc du genre
    (mais je suis pas sûre qie ce soit uniquement pour afficher la colonne que tu veux la récupérer)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    forms("Nom_de_ton_fromulaire_père").controls("champ où tu veux afficher ta valeur récupérée") = me.nom_de_ta_colonne
    soit tu mets un évènement sur activation de ton formulaire père (ou sur clic ...) et là tu récupère ta colonne du sous-formulaire comme dit précédemment.

    Tu ne peux pas depuis le formulaire parent détecté qu'il y a eu un évènement dans ton formulaire fils

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    J'ai réussi à renseigner un contrôle textbox (txtTest) avec la valeur de la colonne souhaitée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.txtTest.ControlSource = "=me.nom_de_ton_controle_sous_formulaire![nom_de_ta_colonne]"
    Mais il me manque la détection de l'évènement de changement. L'évènement AfterUpdate n'est pas déclenché lorsque la textBox est mise à jour !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    en effet l'évènement n'est soulevé que lorsque tu fais une modification manuelle mais tu peux l'appeler dans ton code VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Me.txtTest.ControlSource = "=me.nom_de_ton_controle_sous_formulaire![nom_de_ta_colonne]"
     
    Call txtTest_AfterUpdate

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Ok merci beaucoup et bonne journée

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

Discussions similaires

  1. [XL-2007] Récupérer la valeur de 2 colonnes de la ligne sélectionnée dans une ListBox
    Par chrisaccess dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/02/2015, 21h03
  2. [WD16] Récupérer la valeur d'une colonne d'une table d'une ligne précise
    Par elghers_hocine dans le forum WinDev
    Réponses: 16
    Dernier message: 06/05/2011, 18h11
  3. Copier une colonne d'une table vers une autre
    Par Jb_One73 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/08/2008, 15h22
  4. Supprimer une colonne d'une feuille si elle est vide dans une autre
    Par xave dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/02/2008, 14h05
  5. Réponses: 4
    Dernier message: 31/10/2007, 20h27

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