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 :

Renseignement des champs de plusieurs tables en même temps


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Renseignement des champs de plusieurs tables en même temps
    Bonjour, bonsoir,

    Je m'appelle Andoni et suis actuellement étudiant en troisième année de licence LEA à l'université Bordeaux Montaigne. Ayant opté pour une spécialité en Relations Internationales, mes cours d'informatiques sont principalement axés sur la création et l'utilisation de base de données sous access. Bien entendu, nos connaissances restent très limitées en la matière. C'est pourquoi je me permet de venir vous demander secours.

    L'université Bordeaux Montaigne accueillera en juillet 2017 un colloque réunissant près de 350 professeurs venus du monde entier. Pour ce faire, l'association à l'origine du colloque, SSAWW, a demandé une base de donnée respectant le cahier des charges suivant :

    Il s’agit pour les organisateurs :
     De pouvoir saisir toutes les informations utiles des participants (noms, prénoms etc.)
    De pouvoir attribuer un code atelier (ou session) à chacun des participants sachant que plusieurs participants peuvent intervenir dans un même atelier (entre 3 et 5) donc le même code atelier est utilisé par plusieurs participants.
     De pouvoir saisir une salle, un bâtiment et des horaires à un atelier.
     De pouvoir vérifier la liste des participants à un atelier.
     De pouvoir vérifier la liste des participants par université.
     De pouvoir obtenir rapidement pour un participant donné, un numéro de téléphone, l’adresse mail et l’université de rattachement.
     De pouvoir vérifier parmi les participants ceux qui sont membres de l’association et ceux qui ne le sont pas.

    L'élément mis en gras est celui qui nous pose problème. En effet, nous disposons actuellement de deux tables : Atelier et Participant.

    La table Atelier dipose des attributs suivants : codesession (clé primaire), nomatelier, jour, heuredebut, heurefin, nommod, bat, salle
    La table Participants dispose des attributs suivants : numparticipant (clé primaire), prenom, 2_prenom_nom, nom, affiliation, statutacademique, statutconf, numtel, email, titreconf, codeatelier, membreSSAWW

    Une relation de type 1.n est établie entre codesession et codeatelier.
    codesession est un code au format Lettre-Chiffre-Chiffre (e.g. A00) qui sert à différencier chacun des ateliers.
    codeatelier est le codesession auquel assistera le participant.

    Je dispose également de différents formulaires, dont un pour la saisie d'un atelier (tous les champs sont à remplir) et un pour la saisie d'un participant (de même).

    Nous arrivons enfin au point qui nous a demandé tant de réflexion en vain et qui, je l'espère, pourra être résolu par vos soins.

    Là où nous bloquons est sur l’ajout d’un formulaire que nous voudrions sous cette forme :

    - À l’aide d’une liste déroulante ou d’une saisie manuelle, on sélectionne un atelier déjà existant. Il faut donc un champ pour saisir cet atelier, qui devrait correspondre à la table Ateliers et à l’attribut codesession.
    - Une fois un atelier sélectionné, il faudrait afficher cinq champs avec par exemple numparticipant.

    Ainsi, l’idée serait qu’en sélectionnant un atelier, on puisse y associer de 3 à 5 participants en inscrivant leur nomparticipant. Puis, lorsqu’on valide le formulaire, la table Participants reçoit les données. C’est-à-dire que l’attribut codeatelier des cinq participants est rempli du codeatelier auquel on vient de les ajouter.

    L’idée via cette manipulation supplémentaire est d’éviter aux organisateurs de faire chacune des 350 fiches afin de renseigner un par un le codeatelier de chacun des participants. Ainsi, ils pourraient renseigner les 5 participants à un atelier et cela mettrait à jour la table Participants 5 par 5.

    J’espère avoir été suffisamment clair sur mes explications. Bien entendu, je reste disponible pour un quelconque renseignement supplémentaire.

    Merci d’avance de vos réponses et de votre aide,

    Cordialement,

    Andoni.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Ce qui te manque c'est une table d'association Atelier <-> Participant.

    Sa structure minimale est :

    tblAtelierParticipant
    ClefPersonne
    ClefAtelier

    Il est difficile de limiter le nombre d'enregistrements pour une table mais je pense qu'on peut faire confiance à tes utilisateurs pour ne pas entrer plus de 5 personnes.

    Pour la saisie, il te suffit de faire une formulaire basé sur tblAtelierParticipant et d'offrir 2 liste déroulantes pour la sélection.

    Tu peux en faire un formulaire séparé ou l'intégrer comme un sous-formulaire dans le formulaire atelier et/ou le formulaire participant.

    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
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci d'avoir pris le temps d'étudier mon cas et d'y avoir répondu.

    J'ai essayé de suivre ta méthode, malheureusement cela ne met pas encore à jour la table participants. Afin d'être sûr d'avoir fait les bonnes manipulations, je vais te décrire ce que j'ai ajouté à ma base de données :

    + Une table TblAtelierParticipants avec deux attributs : #codesession et #numparticipant (j'ai préféré utiliser le numéro de participant plutôt que son nom afin d'éviter un risque quelconque de doublon qui pourrait induire en erreur)

    Chacun de ces attributs est en liste de choix, avec l'outil "Assistant Liste de choix". J'ai choisi d'extraire les valeurs de la liste depuis les tables Ateliers et Participants, en sélectionnant codesession et numparticipant.

    + Relations entre les tables :

    codesession (de la table Atelier) dispose d'une relation 1.n avec #codesession
    numparticipant (de la table Participant) dispose d'une relation 1.n avec #numparticipant

    Ci-joint un screenshot de mes relations :

    + Formulaire :

    J'ai ensuite créé un formulaire basique basé sur TblAtelierParticipants. J'ai bien accès à une liste de choix, dans laquelle apparaissent d'une part mes ateliers déjà créés et d'autre part les numéros automatiques des participants.

    -------------------------------------------------------------

    Suite à ces modifications, j'ai donc ouvert mon formulaire TblAtelierParticipants. J'y ai sélectionné un atelier, et un participant, puis j'ai validé. Dans mon idée, cela aurait dû remplir le champ codeatelier de la table Participants. Pourtant, rien n'y apparaît, malgré la relation introduite dans access.

    Merci d'avance pour toute l'aide fournie et pour le temps passé,

    Cordialement,

    Andoni.

    P.S. : si d'autres screens sont nécessaires, voire-même une copie de ma base de donnée, il n'y a pas de problème à cela. Je trouve compliqué de bien se représenter l'architecture d'une base de données sans l'avoir devant les yeux en tant que novice, du coup il n'y a pas de soucis pour que je l'upload en pièce jointe.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    J'ai apparemment raté un point.

    Ta table des participants ne doit contenir que cela : des participants (donc supprimer le champ atelier).

    C'est la table tblAtelierParticipant qui va te donner la liste des ateliers aux quels ils participent.

    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.

Discussions similaires

  1. Réponses: 32
    Dernier message: 11/09/2008, 09h20
  2. Réponses: 11
    Dernier message: 25/05/2008, 13h14
  3. Recherche sur plusieurs tables en même temps
    Par Zouzou1er dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/10/2007, 09h40
  4. Audit sur l'utilisation des champs de plusieurs tables
    Par Xavier2701 dans le forum Oracle
    Réponses: 1
    Dernier message: 29/03/2007, 08h26
  5. [Access] extraire des champs de plusieurs tables
    Par ddeee dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/04/2006, 16h45

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