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 :

Formulaire : Lier liste déroulante à des zones de texte éditables


Sujet :

IHM

  1. #1
    Invité
    Invité(e)
    Par défaut Formulaire : Lier liste déroulante à des zones de texte éditables
    Bonjour,

    Voila j'ai une table catégorie avec un id, un nom, une description, une miniature, une image, est si elle est publiée ou non.

    Je voulais savoir si c'est possible d'afficher les noms des catégories dans une liste déroulante, et à coté, d'avoir le détail de la catégorie sélectionnée ?

    J'ai ma liste de catégorie mais je ne trouve pas comment la faire interagir avec les autres champs afin de les mettre à jour automatiquement en fonction de la catégorie sélectionnée...

    Merci d'avance pour votre aide
    Dernière modification par Invité ; 03/05/2011 à 15h15.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Voici comment t’y prendre :

    Dans ta zone de liste,
    - la propriété contenu, sans doute une requête, doit fournir 2 colonnes (nom et description) ;
    - la propriété Nbre Colonnes : 2 ;
    -la propriété Largeurs colonnes : n cm ;0 cm. Ainsi la description ne s’affichera pas.


    Dans un autre contrôle, tu inscris comme source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[LaZoneDeListe].column(1)
    qui veut dire : afficher la 2e colonne de la liste (la numérotation commence à zéro).
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci de ta réponse

    Ça fonctionne très bien et ça me sera bien utile par la suite !

    Encore merci

    Edit:

    Hum par contre je ne peux pas modifier les valeurs des détails de la catégorie...
    Ça me met que ce n'est pas modifiable car lié à l'expression [nomDeLaListe].column(x)

    Il y a une modification à faire pour rendre ces champs éditables pour mettre à jour la BDD ?
    Car d'après mes recherches, en fait ce sont des contrôles calculés ? Donc non modifiable ?

    Mon but final étant de pouvoir modifier les détails de la catégorie sélectionnée depuis mon formulaire
    Dernière modification par Invité ; 03/05/2011 à 15h15.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kurtnolan Voir le message

    Hum par contre je ne peux pas modifier les valeurs des détails de la catégorie...
    Ça me met que ce n'est pas modifiable car lié à l'expression [nomDeLaListe].column(x)

    Il y a une modification à faire pour rendre ces champs éditables pour mettre à jour la BDD ?
    Car d'après mes recherches, en fait ce sont des contrôles calculés ? Donc non modifiable ?

    Mon but final étant de pouvoir modifier les détails de la catégorie sélectionnée depuis mon formulaire
    Quelqu'un sait-il comment faire ? Je ne trouve la réponse nul part Peut être que je ne cherche pas avec les bons mots =/

    Merci d'avance à celui ou celle qui pourra m'aider à résoudre ce problème

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je n'avais pas vu ton édit dans le message d'hier.

    Procède comme ceci :

    - lie le contrôle à catégorie (il devient modifiable)
    - dans l'événement Après mise à jour de la zone de liste, tu indiques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.CeContrôle = [LaZoneDeListe].column(1)
    il reçoit ainsi la valeur... que tu modifies a posteriori, s'il le faut.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Merci de ta réponse rapide mais je ne suis pas sur de bien comprendre.

    Mon formulaire est formé ainsi :

    zone de liste déroulante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT
    [liste_catégorie].[category_id],
    [liste_catégorie].[category_name],
    [liste_catégorie].[category_description],
     
    [liste_catégorie].[category_thumb_image],
    [liste_catégorie].[category_full_image],
    [liste_catégorie].[category_publish] 
    FROM liste_catégorie 
    ORDER BY [category_name];
    Pour laquelle je n'affiche que les category_name.

    Ensuite j'ai des zone des textes qui correspondent à category_name, category_description, category_thumb_image, category_full_image, category_publish

    Ces zones de textes doivent se remplir en fonction de la catégorie sélectionnée dans le liste déroulante, et doivent être éditable afin de mettre à jour la table des catégories

    Que veut tu dire par lier le contrôle à catégorie ? Et comment connaitre le nom du contrôle ? C'est le nom comme "Texte10" par défaut par exemple ?
    Dernière modification par Chtulus ; 04/05/2011 à 10h55. Motif: Balises code ! Sélection du code et (#) dans la fenêtre de rédaction des messages

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Que veut tu dire par lier le contrôle à catégorie ?
    ce que tu appelles :

    des zones de texte qui correspondent à category_name...

    Et comment connaitre le nom du contrôle ? C'est le nom comme "Texte10" par défaut par exemple ?
    Peut-être, si c'est comme cela dans ton application.

    Et si c'est le cas, dès que tu as le temps lis ceci :

    - conventions typographiques
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Encore merci de ta réponse

    Je vais lire ceci

  9. #9
    Membre actif
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Mars 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Mars 2009
    Messages : 177
    Points : 270
    Points
    270
    Par défaut
    Bonjour,

    A mon avis il serait plus pratique de faire afficher les données de la table categorie dans un sous-formulaire qui sera filtré en fonction de la valeur selectionné dans la liste déroulante.
    Voici comment procéder: Crée un formulaire independant (disons F1) , place dedans une liste déroulante independante basée sur la table categories et ayant comme colonne liée id_categorie (disons C1) et créer ensuite un sous-formulaire dependant ayant les propriétes suivantes:

    - source de données :Table categories.
    - champ père: formulaires!F1.C1
    - champ fils :id_categorie


    Cordialement

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tout d'abord merci de ta réponse

    J'ai essayé ce que tu m'as dis, mais je ne comprend pas pourquoi lorsque je sélectionne une catégorie dans la liste, et bien le sous formulaire ne s'actualise pas, pour l'actualiser il faut changer d'enregistrement en bas à gauche.

    Pourtant il me semble avoir fait ce que tu m'as dis

    La seul différence c'est que j'ai comme source de données une requête affichant les catégories, car la table catégorie est en fait une table SQL liée à Access avec ODBC. ET access ne veut pas de cette table comme source de données pourle sous formulaires...

  11. #11
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    J'ai essayé ce que tu m'as dis
    A qui réponds-tu ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  12. #12
    Invité
    Invité(e)
    Par défaut
    J'ai répondu à reedy ^^

    Sinon pour ta méthode, j'ai essayé, mais en vain
    J'ai vraiment du mal avec le fonctionnement d'Access... ça va faire 4 jours que je lis des tutos sur les formulaires mais je ne trouve pas ce que je veux faire.

    Pour ta méthode j'ai ma liste lst_category avec les champs id, nom, description, miniature, image,publier.

    j'ai fais "ajouter des champs existants", j'ai sélectionné pour le moment juste category_description pour essayer. Il se nomme lbl_categoryDescription.

    Pour finir dans Après MAJ de lst_category, je suis allé dans le générateur de code et j'ai mis cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub lst_category_AfterUpdate()
    Me.lbl_categoryDescription = [lst_category].Column(2)
    End Sub
    Une fois en mode formulaire, à chaque fois que je sélectionne une catégorie, j'ai la bonne description qui s'affiche, et le champs est éditable
    Mais lorsque je le modifie, ça sera toujours la description de la catégorie avec pour id=1 qui sera modifiée, quelque soit la catégories sélectionnée dans la liste.
    Dernière modification par Invité ; 04/05/2011 à 16h17. Motif: Ajout précisions

  13. #13
    Invité
    Invité(e)
    Par défaut
    Désolé avec toutes ces questions, mais je ne vois toujours pas comment parvenir à mon but, je commence à désespérer

    Donc si quelqu'un voit ou je fais une erreur ou ce qu'il faut faire, un grand merci d'avance

  14. #14
    Membre actif
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Mars 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Mars 2009
    Messages : 177
    Points : 270
    Points
    270
    Par défaut
    Bonjour,


    La seul différence c'est que j'ai comme source de données une requête affichant les catégories, car la table catégorie est en fait une table SQL liée à Access avec ODBC. ET access ne veut pas de cette table comme source de données pourle sous formulaires...
    J'ai fait le test moi-même, l'utilisation d'une table liée ODBC comme source de données d'un sous-formulaire fonctionne parfaitement.


    J'ai essayé ce que tu m'as dis, mais je ne comprend pas pourquoi lorsque je sélectionne une catégorie dans la liste, et bien le sous formulaire ne s'actualise pas, pour l'actualiser il faut changer d'enregistrement en bas à gauche
    Place une action actauliser sur l'évenement aprés mise à jour de la liste déroulante


    pour l'actualiser il faut changer d'enregistrement en bas à gauche
    J'ail l'impressioin que ton formulaire principal (conteneur) n'est pas indépendant

    Cordialement

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Bonjour,

    Voici comment t’y prendre :

    Dans ta zone de liste,
    - la propriété contenu, sans doute une requête, doit fournir 2 colonnes (nom et description) ;
    - la propriété Nbre Colonnes : 2 ;
    -la propriété Largeurs colonnes : n cm ;0 cm. Ainsi la description ne s’affichera pas.


    Dans un autre contrôle, tu inscris comme source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[LaZoneDeListe].column(1)
    qui veut dire : afficher la 2e colonne de la liste (la numérotation commence à zéro).
    oui moi j ai une liste ville et cp elle s affiche bien et tout ( sauf que j ai pas reussi a faire ma clé primaire sur le fichier dont elle issue mais c une autre question ) mais j arrive a afficher le code postal le departement le pays dans des azones tout est ok mais ma table contact elle ne se mets pas ajour sur ces derniers point sauf la zone ville qui se meets ajour au secours

Discussions similaires

  1. [AC-2003] Lier liste déroulante avec zone de texte
    Par baryonyx dans le forum IHM
    Réponses: 3
    Dernier message: 25/03/2013, 14h26
  2. Formulaire avec liste déroulante et zone de texte
    Par bella1 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/11/2009, 10h40
  3. Réponses: 5
    Dernier message: 16/07/2007, 10h14
  4. Zone de liste déroulante et zone de texte
    Par lapaz dans le forum IHM
    Réponses: 3
    Dernier message: 21/02/2007, 12h49
  5. Réponses: 6
    Dernier message: 12/12/2006, 18h58

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