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 :

Macro affichage à partir d'une liste déroulante [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Macro affichage à partir d'une liste déroulante
    Bonjour,

    J'ai une bdd contenant plusieurs table dont : "Client", et "Famille".
    La table Famille contient juste les champs "Nom" et "id_client".

    J'ai un formulaire avec un liste déroulante sur les "Nom" et "Prénom" des clients de ma table "Client".

    J'aimerais pouvoir créer un bouton qui m'affiche pour chaque client sélectionnés dans ma liste déroulante un l'état correspondant a sa famille.

    J'ai un champs "R_famille", dans ma table client qui se remplit bien, je n'arrive pas a créer la macro voila ce que j'ai pour le moment :

    Sur clic de ce bouton, j'ouvre l'état "E_InfoFamille" avec comme condition :
    [R_famille]=[ClientTest]![R_famille] pour afficher la famille en entier.

    Cela m'affiche tout les clients de ma table "Client" et non ceux correspondant à la famille du client sélectionné dans la liste déroulante.

    Pouvez vous m'aidez ?

    Bien Cordialement,

    Brezz

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,
    Est-ce que tu peux donner :
    - la ligne complet du le code qui ouvre ton état
    - le nom du contrôle "Liste déroulante". Vérifier déjà qu'il a comme valeur R_Famille.
    - le nom du contrôle où est stocké R_Famille dans ton état.

    Normalement ces 3 informations sont nécessaires et suffisantes et doivent correspondre pour avoir le bon résultat.

    Dans l'attente de ton retour.

  3. #3
    Membre expérimenté
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Points : 1 381
    Points
    1 381
    Par défaut
    Bonjour,

    J'ai une bdd contenant plusieurs table dont : "Client", et "Famille".
    La table Famille contient juste les champs "Nom" et "id_client".
    Je lis ceci et je ne comprend pas. Ta famille, c'est bien une famille de clients ? Si c'est le cas, tu as soit une erreur de modélisation, soit une erreur de composition de message. Tu indiques que la famille appelle le client quand cela devrait être le contraire.

    C'est à dire ceci où plusieurs clients peuvent appartenir à une même famille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Client
      - id_client (clé primaire)
      - NomClient
      - id_Famille (clé étrangère)
     
    Famille
      - id_Famille (clé primaire)
      - Nom
    Et non ceci plusieurs familles peuvent appartenir à un même client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Client
      - id_client (clé primaire)
      - NomClient
     
    Famille
      - id_Famille  (clé primaire)
      - Nom
      - id_client (clé étrangère)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Merci de prendre en compte mon problème.

    Mumen j'ai bien ceci :

    Client
    - id_client (clé primaire)
    - NomClient
    - id_Famille (clé étrangère)

    Famille
    - id_Famille (clé primaire)
    - Nom

    @madefemere :

    - la ligne complet du le code qui ouvre ton état : J'ai peur de pas bien comprendre cette question. J'ai créer un bouton qui ouvre une macro : M_InfoFamille et cette macro ouvre l'Etat E_Info_Famille avec comme condition [R_famille]=[ClientTest]![R_famille] (R_famille correspond à un champs ou est stocké l'id de la famille dans ma table "Client")

    - le nom du contrôle "Liste déroulante". Vérifier déjà qu'il a comme valeur R_Famille : "ListeClient"

    - le nom du contrôle où est stocké R_Famille dans ton état : Je viens de m'apercevoir qu'il avait pour nom : "Réf famille" et non "R_famille" que je viens de corriger.

    Cordialement,

    Brezz

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Tu as le formulaire ClientTest :
    Dessus tu as ta zone de liste déroulante qui se nomme ListeClient.
    J'imagine que dessus, tu as mis tes 3 colonnes dans l'ordre :
    id_client (Caché) - NomClient - id_Famille (clé étrangère).

    Pour que la valeur utilisée pour ta liste correspond à l'id_Famille, il faut que la propriété Donnée - Colonne liée corresponde au numéro de la colonne où se trouve l'id_Famille. Donc il faut que tu vérifies à ce niveau.

    Normalement l'écriture de ta condition est bonne dans ta macro. Re-vérifies les noms de tes champs.
    A toutes fins utiles, ci-joint un BD très minimaliste qui je pense fait ce que tu veux.

    Bonne continuation.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bonjour madefemere,

    En effet dans ma liste déroulante j'ai bien :
    id_client, Nom, Prénom et R_famille (C'est bien R_famille de ma table ClientTest qu'il faut que j'ai ou alors id_famille de la table famille ?)

    J'ai bien la propriété Donnée - Colonne liée avec "1" comme valeurs dedans.

    Cordialement,

    Brezz

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Est-ce que tu as jeté un coup d'oeil à la BD que j'ai envoyée??

    Comme expliqué dans mon message précédent, la valeur de Donnée - Colonne liée fait référence à la colonne qui sera utilisée par ta zone de liste.
    Donc si tu as les colonnes : id_client, Nom, Prénom et R_famille dans ta zone de liste :=> "1" veut dire que tu utilises les valeurs de ta première colonne "id_client" pour faire référence à ta zone de liste.
    Pour utiliser les valeurs de R_famille, il faut mettre cette valeur à "4" pour 4ème colonne.

    Normalement, ça devrait t'apporter la bonne réponse.

    Bonne continuation.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bonjour madefemere,

    Merci beaucoup cela fonctionne, cependant j'aurais une petite question :

    Est il possible de liée plusieurs colonnes dans la même liste déroulante ? sachant que je me servais déjà de la colonne n°1 pour ouvrir un autre état.

    Cordialement,

    Brezz

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    N'oublies pas de mettre si la solution te satisfait.

    Pour la question subsidiaire, je ne pense pas que ça soit possible. On peut utiliser plusieurs valeurs de la même colonne d'une liste déroulante, mais une zone de liste ne peut prendre la valeur que d'une seule colonne.

    La solution serait de créer un contrôle "ZonedeTexte" avec comme source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TaZonedeListe.column(i) 'où i est le numéro de la colonne - ça commence à 0.
    Et utiliser cette valeur comme variable dans ton filtre.
    Bien entendu, l'évènement ne pourra plus être rattaché à ta zone de liste.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Ok merci beaucoup en tout cas !

    Bonne fin de journée !

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

Discussions similaires

  1. [Toutes versions] Affichage d'une plage nommée à partir d'une liste déroulante
    Par tartar1119 dans le forum Excel
    Réponses: 0
    Dernier message: 20/08/2013, 15h40
  2. Réponses: 1
    Dernier message: 01/05/2010, 20h44
  3. Réponses: 3
    Dernier message: 01/03/2010, 16h22
  4. Réponses: 32
    Dernier message: 22/09/2005, 10h40
  5. Réponses: 3
    Dernier message: 25/04/2005, 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