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 :

Lire et écrire dans une zone de texte [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut Lire et écrire dans une zone de texte
    Bonjour,

    Savez-vous comment lire le contenu d'une zone de texte d'un état en VBA ?
    Je souhaiterais simplement stocker le contenu de la zone dans une variable.

    Savez-vous également comment écrire dans une zone de texte ?
    J'ai testé différents trucs au hasard mais ça ne marche pas :
    Me.maZone.Value = "mon texte"
    Me.maZone.Text = "mon texte"
    Cordialement,

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 358
    Points
    34 358
    Par défaut

    qu'entends-tu par "ne marche pas" ? tu as un message d'erreur ? lequel ?
    tu as la chance d'avoir en VBA une latitude de code qui te permet de ne pas etre des plus rigoureux

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 034
    Points : 24 603
    Points
    24 603
    Par défaut
    Bonjour,

    Lire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    debug.print me.moncontrole
     
    mavariable = me.moncontrole
     
    ? me.moncontrole
     
    msgbox me.moncontrole
    Ecrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    me.moncontrole = "test"
     
    me.moncontrole = mavariable
    Text est la propriété qui est renseigné pendant une saisie. A n'employer qu'en connaissance de cause.
    Value est la propriété par défaut. C'est pour cela qu'il n'est pas utile de la préciser lorsque qu'on souhaite consulter la valeur.

    Pourquoi cela ne marche pas ? Peut-être l'emplacement de ton code, le type de valeur attendue...
    Sans précision je te renvoi à ma signature...

    Cordialement,

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Pour l'écriture :
    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.maZoneDeTexte = "TEST"
    , j'ai le message d'erreur suivant :
    Erreur d'exécution '-2147352567 (80020009)
    Impossible d'attribuer une valeur à cet objet


    Pour la lecture :
    Pour la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.print Me.maZoneDeTexte
    ou pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mavariable = me.maZoneDeTexte
    , j'ai le message d'erreur suivant :
    Erreur d'exécution '2427':
    Expression sans paramètre

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 358
    Points
    34 358
    Par défaut
    Tu cherches à faire quoi exactement avec ton état ?

    Autant manipuler des données dans un formulaire, c'est courant, autant le faire dans un état (qui sont des données figées au moment de la génération), c'est plus compliqué à comprendre.

    Peux-tu nous éclairer ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut
    Dans mon état j'ai des données qui sont tronquées à 255 caractères (car ils sont de type Mémo et il y a une jointure, donc c'est tronqué, c'est comme ça avec Access). Le problème ne se pose pas dans le formulaire, uniquement dans l'état.
    Du coup j'utilise la fonction VB DLookup qui récupère la valeur d'un champ en base et je veux stocker ce que j'ai récupéré dans ma zone de texte. C'est pour cela je cherche à écrire dans ma zone de texte.
    Je veux aussi lire une autre zone de texte qui contient un identifiant pour spécifier à ma fonction DLookup de chercher le champ dont l'id correspond à celui de ma zone de texte.

    C'est la solution la plus simple pour résoudre mon problème.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut
    J'ai trouvé la solution à mon problème.

    En fait, je tentais de lire et d'écrire dans des zones dans la fonction Report_Open(). Or à cette étape les champs ne sont pas encore créés. J'ai donc créé la fonction Report_Activate() et là ça marche.

    Merci en tout cas pour les réponses.

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

Discussions similaires

  1. Comment écrire dans une zone de texte d'Excel, depuis VB6 ?
    Par Chekov dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/02/2008, 09h51
  2. [VBA-W][VBA-E]Remplacer ou écrire 1 texte dans une zone de texte
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/04/2007, 10h31
  3. Remplacer ou écrire 1 texte dans une zone de texte
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 02/03/2007, 18h17
  4. Réponses: 13
    Dernier message: 07/08/2006, 10h13
  5. Exclusion de caractere dans une zone de texte
    Par martsigo dans le forum Access
    Réponses: 7
    Dernier message: 23/08/2005, 20h03

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