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 :

récupération données dans zone texte


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 80
    Points : 48
    Points
    48
    Par défaut récupération données dans zone texte
    Bonjour,
    Je suis en train de me faire la main sur un fichier pour gérer mes films.
    Je suis sur un formulaire qui devrait me permettre de modifier un film.
    J'ai 3 champs :
    CATEGORIE, TITRE et PAYS
    J'ai une liste déroulante dans lequel j'ai les catégories.
    Une autre liste qui contient les titres de film en fonction de la catégorie choisie.
    Et enfin, je souhaiterais obtenir le pays dans un controle (pas besoin de liste déroulante parce qu'il n'y a qu'une valeur possible).
    J'ai créé une requête (qui fonctionne bien) afin de récupérer le pays en fonction de la catégorie et du titre choisis.

    Le problème est que je n'arrive pas à récupérer le résultat de la requête dans une zone texte.
    Je vais dans la zone source et je sélectionne la requête mais ça ne marche pas. J'ai #nom? dans la zone texte lorsque je lance le formulaire.

    Pour récupérer la valeur, j'ai été obligé de passer par une zone liste. Ceci me pose d'autres problèmes. A l'ouverture du fichier, je voudrais que tout mes champs soient vides ; malheureusement je n'arrive pas à vider cette zone liste.
    Quelles solutions pouvez-vous me proposer ?
    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    c'est normal que tu ne puisses pas, c'est comme essayer de faire rentrer un bus dans une boite à chaussures.

    Le controle est de type texte et la requete retourne un recordset.

    Récupère la valeur avec une fonction de domaine (voir le tuto sur le sujet) sinon ouvre la requete dans un objet recordset et récupère la valeur du champ (voir le tuto sur DAO).

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 80
    Points : 48
    Points
    48
    Par défaut Re
    Merci pour ta réponse imagée.
    Je vais suivre tes conseils en jetant un coup d'oeil sur les tutos en question.
    Bonne journée

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 80
    Points : 48
    Points
    48
    Par défaut Re
    Malgré les tutos et les codes que j'ai trouvés, je coince encore. Je pense avoir la solution mais je pense que j'ai un problème de syntaxe.
    Je vais expliquer clairement la situation :

    J'ai des titres de film stockés dans une table nommée FILM.
    Cette table contient 3 champs (CATEGORIE, TITRE et PAYS)

    Dans un formulaire, j'ai une liste déroulante contenant les catégories. Lorsque je sélectionne une catégorie, ma deuxième liste déroulante se charge sur une requête qui renvoie les titres correspondant à la catégorie sélectionné.
    Maintenant, j'ai une zone texte (Texte22) dans laquelle j'aimerais avoir le pays d'origine du titre sélectionné (Modifiable8).

    Je pense que le code ci-dessous correspond exactement à ma demande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim rec as dao.recordset
     
    set rec = currentdb.openrecordset( "Select MonChamp From Matable WHERE moncritere = 'toto'", dbopensnapshot)
     
    Forms("MonFormulaireChargé").Controls("MonTextBox") = rec.fields("MonChamp")
     
    rec.close
     
    set rec = Nothing
    et voici une des nombreuses versions que j'ai testé et qui ne marche toujours pas (sur évènement APRES MAJ du modifiable8) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim rec As DAO.Recordset
     
    Set rec = CurrentDb.OpenRecordset("Select FILM.PAYS From FILM WHERE FILM.TITRE = '[Formulaires]![MODIF2]![Modifiable8]'", dbOpenSnapshot)
     
    Forms("MODIF2").Controls("Texte22") = rec.Fields("FILM.PAYS")
     
    rec.Close
     
    Set rec = Nothing
    2 solutions : soit je suis complètement à côté de la plaque, soit j'ai une erreur de syntaxe.

    Au fait, j'ai une erreur d'exécution 3265 (élément non trouvé dans cette collection), sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("MODIF2").Controls("Texte22") = rec.Fields("FILM.PAYS")
    Encore merci d'avance

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    tu te compliques la tâche. Puisqu'une seule table contient les infos que tu cherches voilà ce que tu peux faire.

    Pour l'exemple, j'appelle
    - LstCategorie la liste déroulante contenant les catégorie
    - LstFilm la liste déroulnte contenant les titres des films
    - TxtPays la zone de texte contenant le nom du pays

    1) Dans la propriété de la liste déroulante contenant les catégories:
    Sur MAJ : [Procédure événementielle]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub LstCategorie_AfterUpdate()
    'Ici je suppose que catégorie est un champ de type Texte
     LstFilm.RowSource="SELECT Film, Pays FROM Film WHERE Categorie='" & Me.LstCategorie.Value & "'")
     LstFilm.Requery
    End sub
    2) Dans les propriétés de la liste déroulante contenant les films tu mets:
    Nbre colonne : 2
    Largeur colonnes : 5;0

    3) Dans la propriété contrôle source de la zone de texte TxtPays:
    Contrôle source : =LstFilm.Column(1)

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 80
    Points : 48
    Points
    48
    Par défaut Re
    Merci pour ta réponse,
    J'ai adapté ta proposition en rajoutant le champ PAYS dans la requête qui alimente ma liste de film ; et pour le reste, j'ai suivi tes conseils.
    Ca l'a effectivement fait.
    Encore merci
    Comme le dit un forumeur d'XlDownloads : c'est en exceltan qu'on devient excelton, j'espère que c'est aussi en Accesstan qu'on devient Acceston

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

Discussions similaires

  1. [AC-2003] Format de données dans zone de texte
    Par stargates01 dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/02/2012, 16h52
  2. données dans un text box
    Par youness_ka dans le forum C#
    Réponses: 4
    Dernier message: 09/07/2008, 19h31
  3. [Conception] comment réafficher donnée dans zone de texte
    Par faucon54 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/06/2007, 00h25
  4. Ajout données dans Zone de liste modifiable
    Par emilie31 dans le forum Access
    Réponses: 2
    Dernier message: 08/01/2007, 16h18
  5. probleme récupération donnée dans script xsl
    Par jmacdev dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 12/05/2006, 17h37

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