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 :

[VBA] Selection d'un champ dans un formulaire


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut [VBA] Selection d'un champ dans un formulaire
    Bonjour à tous !
    Voilà ça fait quelque temps que je suis sur ce problème et je tourne autour du pot…

    J’ai deux formulaires 1 et 2.
    Je veux copier la valeur d’un champ 1 (qui resulte d'un choix fait par l'utilisateur dans une liste) dans un champ d’un sous formulaire de 2 (par l’intermédiaire d’un bouton commande mais là n'est pas le prbl).
    Je pensais utiliser les commandes DoCmd.RunCommand acCmdCopy/Paste pour copier et coller les données une fois les champs sélectionnés (mais je ne sais pas si ça marcherais).
    En effet je n’arrive pas à sélectionner les champs !!
    Je croyais au début que ça allait être simple mais pas moyen d’y arriver.
    Mes champs ont des noms du type « Diamètre_extèrieur_(m) » (je ne sais pas si le (m) peut poser des prbl).

    Voilà, si quelqu’un à une petite piste, parce que là je bloque (ca fait 3 semaines que je suis sur ce formulaire et grace à vos FAQ et tuto je n'ai jamais bloqué mais là... )
    Merci !


    Ce que j'ai trouvé dans la FAQ, mais prbl en l'appliquant :
    ________________________________________________________
    auteur : Tofalu
    Voici les deux commandes :

    DoCmd.RunCommand acCmdCopy ' copier
    DoCmd.RunCommand acCmdPaste ' coller


    Pour copier le texte d'une zone de texte, il faut dans un premier temps le sélectionner, voici comment faire :
    Me.Texte1.SetFocus
    Me.Texte1.SelStart = 0
    Me.Texte1.SelLength = Len(Texte1.Text)
    'le texte est sélectionné, il nous reste qu'à le copier.
    DoCmd.RunCommand acCmdCopy
    ____________________________________________________________

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

    Ensuite il faut donc sélectionner la textbox de destination (avec un setfocus), et faire le coller.

    Starec

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut Mici
    oui tu dis surement ça par rapport à la fac
    Me.Texte1.SetFocus
    Me.Texte1.SelStart = 0
    Me.Texte1.SelLength = Len(Texte1.Text)

    Mais justement lorsque le fais :

    Me.Diamètre_extérieur_(m).SetFocus
    Me.Diamètre_extérieur_(m).SelStart = 0
    Me.Diamètre_extérieur_(m).SelLength = Len(Diamètre_extérieur_(m)..Text)

    Ca ne marche pas
    Si le texte était sélectionné j'aurais, je pense, moins de problème

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Attention, ta textbox Diamètre_extérieur_(m) est dans ton sous-formulaire, n'est ce pas ?

    Si c'est le cas ta syntaxte d'appel n'est pas bonne.

    Tu dois avoir une syntaxe de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms!Commandes!DétailsCommande.Form!N° commande
    Starec

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut !!
    Merci de ta réponse, en fait j'y avais déjà pensé mais je n'arrive pas à le mettre en forme.
    __________________________________________
    Mais ta réponse m'a permis de m'apercevoir d'une chose:

    Ce code marche :

    Private Sub Bascule3_Click()
    ' Avec a comme nom du champ
    Me.a.SetFocus
    Me.a.SelStart = 0
    Me.a.SelLength = Len(a.Text)
    End Sub
    __________________________________________
    Alors que celui ci ne marche pas :

    Private Sub Bascule3_Click()
    ' Avec Diamètre_extèrieur_(m) comme nom du champ
    Me.Diamètre_extèrieur_(m).SetFocus
    Me.Diamètre_extèrieur_(m).SelStart = 0
    Me.Diamètre_extèrieur_(m).SelLength = Len(Diamètre_extèrieur_(m).Text)
    End Sub

    Message erreur : Erreur de compilation: Membre de méthode ou de données introuvable (en surlignant .Diamètre_extèrieur_)
    __________________________________________
    Donc il ne doit pas apprécier le "(m)" je pense
    Voilà si quelqu'un sait pourquoi il est le bienvenue

    Sinon j'ai une expression qui marche donc vais essayé de travailler à partir d'elle.

    Merci encore pour tes réponses, bonne journée à tous.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Tes () foutent la M..., met le nom de ton contrôle entre crochet, et essaye avec l'exemple de syntaxe que je t'ai donné.

    Starec

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

Discussions similaires

  1. [AC-2010] Condition If dans vba pour remplir un champ d'un formulaire
    Par freeman3869 dans le forum Access
    Réponses: 6
    Dernier message: 21/04/2015, 11h13
  2. Réponses: 3
    Dernier message: 20/01/2012, 16h27
  3. Réponses: 1
    Dernier message: 09/01/2012, 13h52
  4. Réponses: 9
    Dernier message: 22/06/2005, 08h45
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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