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

Access Discussion :

Relation plusieurs à plusieurs


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Relation plusieurs à plusieurs
    Bonjour !

    Je suis débutant en access 2010. Je veux créer une simple base de données pour mes films. Voilà mon problème:

    J'ai une table "films": ID_Film
    Nom du film
    Annee de sortie
    Catégorie
    Durée
    etc...

    J'ai une table "acteurs" : Acteur_ID
    Nom de l'acteur
    Photo
    etc...

    Vu qu'un film peut avoir plusieurs acteurs et qu'un même acteur peut participer à plusieurs films, j'ai crée une table de liaison: Film_ID
    Acteur_ID

    Film_ID (champ numérique) étant lié à Film_ID (numéroauto) de la table "films"
    et Acteur_ID (champ numérique) étant lié à Acteur_ID (numéroauto) de la table "acteurs"

    Jusque-là je crois que j'ai tout compris. Je viens juste de créer ces tables sans avoir ajouté aucune donnée.

    je construit ensuite avec l'assistant un formulaire films (de la table films) avec un sous-formulaire acteurs avec seulement le champ "nom de l'acteur" (de la table acteurs). Le formulaire et le sous-formulaire sont ok puis je rentre les données du film (jusque là pas de prob), c'est lorsque je s'essaie de rentrer les acteurs que j'ai un message d'erreur : "ce champ ne peut pas être mis à jour".

    Qu'est-ce que je fait de faux ?

    Merci d'avance
    Achilles71

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour,

    Je pense que dans le sous-formulaire "acteurs du film" il devrait seulement être possible d'ajouter des acteurs déjà créés dans la table "acteurs"

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Non, j'ai essayé, l'erreur revient aussi.
    Une chose que j'ai remarqué, c'est que je peux ajouter 2 enregsitrements identiques: j'ai pu créer 2 Mel Gibson et je pense pas que ça soit le but dans une base de données...

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Je te suggère de faire une liste déroulante des acteurs et quand on en choisit un cela fait un "insert into id_film" dans la procédure acteur_afterupdate

    Ensuite avec me.requery il devrait apparaitre dans la sous-fenêtre

    Si cela bloque c'est qu'il y a un pb dans les liaisons...

  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 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 917
    Points
    281 917
    Par défaut
    Essaie d’aborder ta solution comme ceci.

    - Un formulaire, en continu basé sur une requête, elle-même basée sur la table de liaison.
    - Dans l’entête du formulaire : une zone de liste qui te permet de choisir un film.
    - La requête qui sert de source sélectionne les éléments de la table de liaison qui concernent le film choisi.
    -
    - Les lignes de ton formulaire : une zone de liste qui permet de choisir les acteurs, et contrôle (caché) qui par défaut prend la valeur du code identificateur du film.

    Tu choisis un film, les acteurs déjà encodés dans la table sont affichés (éventuellement aucun).
    Pour ajouter un acteur, tu actives un nouvel enregistrement => il se crée avec le code film, tu n’as plus qu’à compléter l’acteur.
    Et c’est fait.


    edit : Désolé Nico84, je tape à deux doigts. Le temps de rédiger, tu avais répondu.

Discussions similaires

  1. [AC-2007] Relation réflexive plusieurs-plusieurs
    Par Vijinn dans le forum Modélisation
    Réponses: 1
    Dernier message: 06/07/2015, 16h27
  2. Réponses: 3
    Dernier message: 07/11/2013, 16h02
  3. Réponses: 11
    Dernier message: 07/01/2013, 22h45
  4. [AC-2007] relation de plusieurs à plusieurs
    Par emilk dans le forum Modélisation
    Réponses: 1
    Dernier message: 16/02/2011, 18h57
  5. Mapping dans un table plusieurs-plusieurs-plusieurs
    Par Invité dans le forum Hibernate
    Réponses: 0
    Dernier message: 03/07/2009, 13h15

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