Debutant

Résolu/Fermé
jackb Messages postés 45 Date d'inscription mardi 26 octobre 2004 Statut Membre Dernière intervention 11 septembre 2023 - 4 avril 2023 à 11:45
 Tessel75 - 5 avril 2023 à 15:32

Bonjour,

Je debute avec Access et je désire créer un DB de films contenant les titres et les acteurs pour débuter.

J'ai donc crée une table "films" et une table "acteurs"

Mon pb est : comment créer une table "films" avec plusieurs acteurs en relation avec une table "acteurs"

Si vous avez des adresses de tutos expliquant cela je suis preneur

Merci


Windows / Chrome 111.0.0.0

3 réponses

Bonsoir,

Si tu tiens à avoir une table de films liée à une table d'acteurs, le seul moyen est d'avoir une table de liaisons entre les deux. J'explique :

Tu as ta table de films :  IdFilms (Identifiant Film), Titre, DateSortie, Commentaires, etc, Réalisateur, Acteurs

Tu as ta table des Acteurs :  IdActeurs (Identifiant Acteur ), NomActeur, PrénomActeurs, Autres Informations etc,

Idem pour pour les réalisateurs

Alors, tu intercales une table de liaisons, avec les champs: IdLienFilmActeursRéalisateur ,   IdFilms, IdRéalisateur, IdActeurs

Ainsi tu peux facilement faire l'aller-retour entre les films, les réalisateurs et les acteurs. Quand tu appelles un film, ta requête appelle le réalisateur et les acteurs dans une requête un-à-plusieurs. Et inversement quand tu appelles un réalisateur ou un acteur, une autre requête un-à-plusieurs te ramène tous les films auxquels la personne a participé.

Un denier conseil si tu es débutant. C'est de mettre tous tes noms de champs, de tables, de requêtes, de formulaires, etc, sans espace dans les noms en question. A titre personnel, quand j'ai besoin d'un nom composé, par exemple "date de sortie", j'écris "DateSortie" avec des majuscules au milieu si besoin pour que ça reste lisible, et l'ordi s'en fout, par contre il n'aime pas du tout les noms d'objet avec des espaces.

Bon courage.

1
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
5 avril 2023 à 14:39

Un ID spécifique n'est pas utile dans la table de liaison.
Il est préférable d'y utiliser comme clé primaire les combinaisons des autres ID, ce qui en garantit l'unicité.

1
jackb Messages postés 45 Date d'inscription mardi 26 octobre 2004 Statut Membre Dernière intervention 11 septembre 2023 2 > yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024
5 avril 2023 à 15:16

Merci YG pour ton commentaire.

Si j'ai bien compris c'est ce que préconise Tessel75 lorsqu'il écrit "Alors, tu intercales une table de liaisons, avec les champs: IdLienFilmActeursRéalisateur ,   IdFilms, IdRéalisateur, IdActeurs"

0

Bonjour,

Je n'ai pas bien compris ta question ci--dessus. Mais sinon, à ce que je crois être ton interrogation, il te faut un sous-formulaire dont la source est ta table de liaison (ou la requête sous-jacente) avec une liste de choix pour entrer tes acteurs. Alors, à mesure que tu entres tes acteurs (avec leur nom), l'ordi, lui, travaille avec les identifiants, ce qui fait que la table des liaisons se constitue automatiquement à mesure que tu entres tes données.

Après, ou avant, il faut que tu construises tes champs acteurs et réalisateurs de telle sorte que le système travaillant avec es identifiants, ce sont les noms qui sont visibles. C'est très facile à faire en sélectionnant le champs Id pour la source du contrôle, et le nom pour ce qui apparait.

Bon courage

1
jackb Messages postés 45 Date d'inscription mardi 26 octobre 2004 Statut Membre Dernière intervention 11 septembre 2023 2
5 avril 2023 à 11:38

Bonjour Tessel75

Merci pour ton aide qui m'a été trés utile.

En ce qui concerne les noms j'ai pour habitude d'utiliser cette méthode, qui date d'une autre époque, lorsque je dévelopais en assembleur cobol ou pl1 (197...), c'est trés pratique pour effectuer les déclaratives en n'utilisant que les majuscules.

Une question supplémentaire concernant la saisie des données : lors de la saisie est-il possible d'avoir accès au contenu des différentes tables contenant les id ce qui est pratique lorsque tu saisis la table de liaison ne contenant que des Id. Ou alors ma méthode de saisie n'est pas adéquate?

0