Debutant
Résolu/FerméTessel75 - 5 avril 2023 à 15:32
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.
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
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?
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é.
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"