Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/10/2011, 15h27   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
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
achilles71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 16h48   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 256
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 1 256
Points : 1 872
Points : 1 872
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"
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 17h05   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
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...
achilles71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 17h28   #4
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 256
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 1 256
Points : 1 872
Points : 1 872
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...
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 17h34   #5
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
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.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h52.


 
 
 
 
Partenaires

Hébergement Web