Pb access:plusieurs à plusieurs/formulaire

Résolu
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,


je suis novice dans le domaine, mais je me suis lancé, pour m'exercer, dans la création d'une base de données via access 2003 sur les films que je possède dans ma videothèque. Ceci dans le but de renseigner par films, les acteurs, le (ou les) réalisateur, les genres...

donc je me suis retrouvé dans l'obligation de créer des relations plusieurs à plusieurs, notamment pour la table "films" et la table "acteurs" puisque un acteur peut jouer dans plusieurs films et plusieurs acteurs jouent dans un film. Le même procédé me force a créer une relations de type plusieurs à plusieurs pour la table "films" et "genre".

Je me retrouve donc avec

FILMS FILMS/ACTEURS ACTEURS

ID_FILMS ID_FILMS ID_ACTEURS
TITRE ID_ACTEURS NOM
....

et


FILMS FILMS/GENRE GENRE

ID_FILMS ID_FILMS ID_GENRE
TITRE ID_GENRE GENRE
...


Je renseigne tous les champs, puis je crée un formulaire à l'aide de l'assistant pour voir ce que cela donne avec une interface plus présentable. Mais là problème, dans le champ reservé aux acteurs un seul nom apparaît alors que le film contient plusieurs acteurs...le même problème se pose avec le champ réservé aux genres du films! Du coup je réessaye l'opération avec le mode création et le problème se pose de nouveau...

Au lieu d'avoir une centaine de fiche (chacune correspondant à un film) j'obtient un peu plus de 400... (correspondant aux différentes combinaisons je suppose). du coup je me retrouve un peu bloqué dans mon projet!

le pb ne m'a pas l'air très compliqué à résoudre (je pense avoir bien rempli les champs) mais il dépasse mes compétences donc siquelqu'un pouvait m'aider ce serait sympa!

D'avance, merci

11 réponses

ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
en fait ce que j'obtient dans mes relations ce sont:

FILMS

ID_FILMS
TITRE
...


FILMS/ACTEURS

ID_ACTEURS
ID_FILMS


ACTEURS

ID_ACTEURS
NOMS
...


Pour la relation films/genre, j'ai suivi le même procédé (même schéma que ci dessus en remplacant acteurs par genre)

donc voila je suis tjrs bloqué et suis tjrs demandeurs de vos astuces pour m'aider

a plus
0
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
en gros j'aimerais avoir une fiche détaillé par film avec, le titre, les genres, les acteurs qui y joue.

sauf que pour le moment j'obtient plusieurs fiche par films puisque le formulaire me donne un acteur et un genre par films, ce qui multiplie les combinaisons.

Par exemple, pour pulp fiction, j'obtiens

fiche 1, ac titre: pulp fiction, acteur:john travolta, genre: thriller
fiche 2, ac titre: pulp fiction, acteur:bruce willis, genre : thriller
etc...

je pense que je ne peut pas être plus clair, donc s'il vous plait aidez-moi...
0
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
s'il vous plait j'ai besoin de votre aide...
0
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Salut,

tu peux nous donner les types de relation que tu as mises entre les tables ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
bin en fait ce sont des relation de type plusieurs à plusieurs...
0
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Access (comme beaucoup de SGBD) n'autorise que les relations 1-n et 1-1.

En principe, une relation n-n se simplifie par deux relations 1-n reliées à une table intermédiaire, est-ce le cas ?
0
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
oui c'est exactement le cas. j'ai crée une table intermédiaire intitulé "films/acteurs" (comme ci dessus) avec les clé primaires de la table "acteur" et la table "film"

en fait j'obtient donc deux relations 1 à n

voila
0
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Donc c'est ok.

Laisse tomber les formulaires et autres objets cosmétiques pour l'instant (surtout créés automatiquement).

Essaie de créer une requête qui prendra les trois tables pour t'afficher ce que tu souhaites.

Une fois cette requête créée, tu pourras bâtir un formulaire qui se base dessus.
0
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
j'ai fait une requete avec mes trois tables puis je crée à nouveau le formulaire et le même problème revient, en fait je vois un seul acteur par film et le film répété plusieurs fois avec un autre acteur du film.

ce que je voudrai c'est que dans la zone reservée au champ "film" apparaisse le titre du film et dans la zone reservé au champ "acteurs" apparaisse tous les acteurs (et non un seul)

voila
0
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Est-ce que ta requête te donne les résultats attendus ?
0
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
en fait dans ma requête j'ai une colonne "films" avec tous mes films et une autre colonne "acteurs" avec les acteurs mais c'est organisé comme dans ma table "films/acteurs".

je m'explique,

par exemple j'obtient:

pulp fiction ==> john travolta
pulp fiction ==> Bruce willis
pulp fiction ==> Samuel l jackson
seven ==> kevin spacey
seven ==> morgan freeman
seven ==> brad pitt
...

Il y a des repetitions des films et des acteurs (parce que certains jouent dans plusieurs films et dans un film, il y a plusieurs acteurs)

Voila, sinon pour obtenir ce resultat j'ai fait une requete toute simple en selectionnant les 3 tables mais en choississant uniquement deux champs: titre du film et noms des acteurs
0
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Et bien, tout est normal ! Il n'y a pas de doublons.

Une requête SQL renvoie des données en lignes pas en colonnes.

Ce sera donc à toi de créer tes formulaires pour n'y afficher que ce qui t'intéresse, en fonction des choix que tu auras faits : film, acteur, réalisateur...
0
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
d'accord mais pourquoi lorsque je crée un formulaire avec le film et les acteurs, dans la zone reservé au champ "acteur", il me met qu'un seul nom ?

alors que je voudrai qu'il s'en affiche plusieurs...
0
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
parce que ton formulaire n'est peut-être pas en affichage 'mode continu' ?

dans ce cas-là, il faut que tu fasses un formulaire principal avec des listes de choix possibles, puis un sous-formulaire qui affiche les informations souhaitées : acteurs (mode continu), résumé du film (champ unique), réalisateur (champ unique ou mode continu)...
0
ttihenry Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   2
 
ouaip ca marche comme ca, mais les sous formulaires n'ont pas la même présentation que le formulaire principal. donc est-il possible de remedier à ca, pour que cela soit plus présentable?
0
blux Messages postés 27122 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Comme je ne sais pas à quoi ressemblent tes sous-forms et ton form principal...

Mais on peut à peu près tout arranger visuellement.
0