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 :

comment utiliser une table associative en formulaire


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut comment utiliser une table associative en formulaire
    Bonjour à tous.

    J'avance dans un projet et je me rends compte qu'il y a un point que je n'ai pas pris en considération convenablement.

    Je vous explique la situation.
    Je dois faire en sorte de gérer plusieurs camps de vacance en base de données.
    Premièrement, j'ai un formulaire qui me permet de créer des nouveaux camps et une fois un camp créé, j'accède à un nouveau formulaire mais cette fois de gestion. Il consiste à contenir toutes les données du camp créé dans le frmNouveauCamp, données récupérées par l'IDCamp et contient également une zone de liste qui affichera les personnes inscrites à ce quand uniquement. Ensuite, par l'aide de boutons, d'accéder à un nouveau formulaire qui permettra de créer des participants qui viendront ensuite s'afficher dans la liste présente dans le formulaire de gestion des participants. Et c'est la qu'est mon problème.

    Je ne sais pas comment faire pour que une fois que j'enregistre un nouveau participant (càd depuis un autre formulaire en pressant sur un bouton), il s'enregistre dans le camp par lequel il à été créé, et pas dans les autres camps. (car on peut gérer plusieurs camps dans l'application)
    Le nouveau participant sera enregistrer dans la table tblPersonne, mais comment faire pour qu'il soit aussi présent dans la liste des participants du camp tictac et pas dans la liste du camp plafplaf.

    Les tables tblCamp et tblPersonne sont liées par une table associative appelée tblRegroupe. J'imagine que je devrai utiliser l'IDCamp ainsi que l'IDPersonne et regrouper les deux à l'aide de la table associative, mais j'ignore comment. oubien alors faire un sous-formulaire de la table associative contenant num_tblPersonne. ??

    Merci donc à tous ceux qui pourront me donner un petit coup de main.
    Et si vous désirez des informations supplémentaires, n'hésitez pas.

    si jamais, j'ai un petit MCD en pièce jointe, ça pourrait aider..


    Cyriusix
    Images attachées Images attachées  

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 339
    Points : 23 799
    Points
    23 799
    Par défaut
    Le plus simple serait que ton formulaire d'ajout de particpants affiche un sous formulaire basé sur la table tblRegroupe ce qui te permettrai d'ajouter tout de suite le participant dans le ou les camps voulu sans aucune ligne de programmation.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut
    merci, mais si je désire faire apparaitre le nom, prénom... du participant à la place du numéro? comment faut-il que je procède?

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 339
    Points : 23 799
    Points
    23 799
    Par défaut
    Dans la table, il faut ne garder que le numéro et afficher le nom et le prénom dans un textbox à part.

    Le plus simple est de faire une requête basée sur la table

    tblRegroupe qui affiche le code du camp, le code de la personne et de faire une jointure sur la table des personnes pour aller cherche le nom et le prénom.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut
    Attends je ne suis pas sur d'avoir tout suivi.. ^^

    Je désire faire apparaître dans une zone de liste de mon formulaire les participants d'un camp et de ce camp uniquement.. donc dans mon formulaire je fais appel à un sous formulaire basé sur la table tblRegroupe.. mais qu'est-ce qui doit paraitre dans mon sous formulaire? uniquement la clé étrangère num_tblPersonne? comment faire pour que ca me retourne les données (Nom, prénom.. ) de la table tblPersonne? en faisant une requête basée sur l'IDPersonne?

    Le plus simple est de faire une requête basée sur la table

    tblRegroupe qui affiche le code du camp, le code de la personne et de faire une jointure sur la table des personnes pour aller cherche le nom et le prénom.
    J'immagine que c'est ce que tu viens de m'expliquer.. malheureusement, je n'ai pas trop compris ce que tu entends par "code du camp" ainsi que pour faire la jointure.. mes connaissances sont encore un petit peu restreintes..

    Merci bien..

    Cyriusix

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut
    Peut-être que quelqu'un d'autre saurait également me dépanner?

    Merci d'avance..

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 339
    Points : 23 799
    Points
    23 799
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT Regroupe.*, Personne.NomPersonne, Personne.PrenomPersonne
    FROM Regroupe LEFT JOIN Personne ON Regroupe.NoPersonne = Personne.NoPersonne;
    Voici le SQL de la requête dont je t'ai parlé, à adapter à tes besoins.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 339
    Points : 23 799
    Points
    23 799
    Par défaut
    Autre remarque remplace ta clef primaire composée de la table personne par un numéro de personne car tu pourrais avoir 2 personnes qui portent le même nom et le même prénom et qui vivent à la même adresse. C'est rare mais cela arrive.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut
    Super.. merci beaucoup marot_r, je ne peux pas le tester maintenant, mais ca à l'air de correspondre grandement à mes besoins..

    Si jamais je refais appel..

    A bientôt.

    Cyriusix

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut
    Voila, j'arrive à trouver le num_tblPersonne correspondant au camp dont l'ID est égale à celui du formulaire ouvert. Déjà un bon point..

    Maintenant, j'aimerais que ca soit donc à la place de l'IDPersonne, le nom et le prénom qui s'affiche.

    marot_r tu m'avais parlé de:
    Dans la table, il faut ne garder que le numéro et afficher le nom et le prénom dans un textbox à part.

    Le plus simple est de faire une requête basée sur la table

    tblRegroupe qui affiche le code du camp, le code de la personne et de faire une jointure sur la table des personnes pour aller cherche le nom et le prénom.
    Pour le moment, j'ai une simple liste (j'ai laissé tomber le sous formulaire, car il me posait trop de problème au niveau des relation en champ père et champ fils...) qui affiche l'ID du camp et l'ID de la personne. Comment puis-je passé de l'IDPersonne au nom et prénom. Il faut que je fasse une requête qui va chercher dans la table tblPersonne le nom et le prénom correspondant à l'IDpersonne en question, mais quelle est cette requête pour qu'ensuite ca vienne directement s'afficher dans ma liste lstListeParticipants?

    Merci d'avance.. Cyriusix

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut
    Je n'ai rien dit, merci beaucoup à marot_r, je n'avais simplement pas ajouté assez de colonnes à ma liste lors de l'execution de ta requête..

    Mais je cherche à intégrer dans ma liste des données provennant d'une autre table (tblFonction) et ça ne va pas comme je me l'imaginais.

    Je suis donc parti de la requête de marot_r et j'ai essayé de l'adapter de plusieur manières.. Ce que je vais mettre ci-dessous, ne marche pas je le sais bien, mais c'est juste pour que vous comprenniez + ou - ce que je désirerais réussir à faire..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.lstListeParticipants.RowSource = "SELECT tblFonction.NomFonction, tblPersonne.NomPersonne, tblPersonne.PrenomPersonne FROM tblRegroupe LEFT JOIN tblFonction & tblPersonne ON tblRegroupe.num_tblFonction = tblFonction.IDFonction & tblRegroupe.num_tblPersonne = tblPersonne.IDPersonne WHERE IDCamp = tblRegroupe.num_tblCamp;"
    Ce que je désirerais donc trouver est qu'il y ai 3 colonnes affichées(Fonction, Nom, Prénom), mais fonction provient de tblFonction et nom,prénom proviennent de tblPersonne.. ces deux tables sont regroupées dans tblRegroupe avec la table tblCamp.
    Que devrait-être ma requête pour que le tout fonctionne? (en d'autres termes, par quoi devrais-je remplacer les & ?..)

    Merci beaucoup d'avance.

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 339
    Points : 23 799
    Points
    23 799
    Par défaut
    Je ne suis vraiment pas bon en SQL pure mais avec l'éditeur de requète de Access ça se fait très bien.

    Tu ouvres un nouvelle requète, tu ajoute toute les tables dont tu as besoin et tu les racorde en cliquant et glissant les champs qui te serves à faire la liaison.

    Si tu n'y arrivea pas je t'invite à ouvrir un nouveau thread sous la rubrique SQL.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  13. #13
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 133
    Points : 56
    Points
    56
    Par défaut
    Merci, très sympat de ta part.

    Je vais donc essayer et voir si je déplace le sujet..

    Donc sujet résolu.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/04/2014, 19h29
  2. [AC-2003] Comment utiliser une table access pour 2 fichiers différents ?
    Par bigounet dans le forum Access
    Réponses: 2
    Dernier message: 08/04/2012, 22h45
  3. Comment utiliser une table temporaire ?
    Par tibofo dans le forum Développement
    Réponses: 4
    Dernier message: 04/03/2009, 19h36
  4. Réponses: 6
    Dernier message: 28/03/2007, 15h53
  5. Utiliser une table MySQL dans un menu deroulant de formulaire
    Par darkfazer dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 17/10/2006, 23h16

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