Relations entre les tables, exercice Access

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • Relier les tables d'une base Access entre elles avec l'intégrité référentielle et la mise à jour en cascade pour préserver l'intégrité des informations. Nous avions volontairement réparti les données dans plusieurs tables. Et pour chacune nous avions configuré les clés primaires et clés externes. Bien sûr, nous avions pris soin de leur attribuer le même type de données, sans quoi les relations ne peuvent pas être établies. Nous exploitons l'éditeur de relations pour matérialiser les liaisons entre les clés de chaque table. L'outil dépendances d'objets permet de visualiser ces liens pour mieux comprendre le fonctionnement de la base de données. A titre d'essai, nous supprimons un client. Et nous constatons que toutes ses informations dépendantes sont supprimées dans les tables Access liées.
    Base de données source et formation détaillée sur le site Web :
    www.bonbache.f...
    #AccessExercices
    #DébuterAccess
    #AccessTable
    #ApprendreAccess
    #BasesDeDonnées
    Tous les exercices Access en vidéos :
    • Access Exercices

ความคิดเห็น • 82

  • @isabelletod6652
    @isabelletod6652 8 หลายเดือนก่อน +1

    Bonjour j aimerais faire une liste de location livres pour bibliothèque.
    J aimerais obtenir une requête qui me donne la liste des noms avec les livres en location et en même temps la liste des noms de livres.
    Comment je puis je faire? Merci

    •  8 หลายเดือนก่อน +1

      Bonjour Isabelle, je forme sur toutes ces techniques au travers de la série sur les exercices Access :
      th-cam.com/play/PLpQBnWleLAaszq4DAxtM4eHvFmOrq-4ij.html
      Plus spécifiquement dans la section des requêtes.

  • @Fouad-e8v
    @Fouad-e8v 3 หลายเดือนก่อน +1

    Ce n'est pas une leçon de littérature française mais c'est technique

    •  2 หลายเดือนก่อน

      Oui absolument et c'est un point crucial dans l'exploitation d'un gestionnaire de bases de données.

  • @fredjjazi2155
    @fredjjazi2155 3 ปีที่แล้ว +4

    Trés bonne explication détallée , claire ; c'est une leçon fort intéressante
    Merci Stéphane , vous méritez tout le respect

    •  3 ปีที่แล้ว +1

      C'est très gentil de votre part Fredj. Merci beaucoup.

  • @tomvaicle8680
    @tomvaicle8680 2 ปีที่แล้ว +1

    Bonjour, merci pour ce tuto,
    cependant je cherche à créer une deuxième table avec à l'intérieur un champ qui est exactement le même qu'un champ existant sur une autre table. Pour que lorsque je rempli le champ en question sur la première table, il se remplisse automatiquement dans l'autre table qui comporte le même champ.
    J'essaie de passer par relations mais cela ne marche pas. Est il possible de faire cela?
    Bonne journée.

    •  2 ปีที่แล้ว

      Bonjour Tom. Merci pour ce message. Une clé externe doit être renseignée par le code ou par l'application pour effectuer la corrélation. C'est ainsi que l'automatisation se réalise. Elle ne peut se faire automatiquement.

  • @sofianesof6032
    @sofianesof6032 5 ปีที่แล้ว +3

    bravo ,Mr Rossetti Stéphane pour le partage et l'excelent travail que vous faites
    la leçon sur les relations entre les tables est intéressante et utile
    merci beaucoup

    •  5 ปีที่แล้ว +1

      Bonjour Sofiane. Grand merci à vous pour ce témoignage fort appréciable en retour.

  • @martinbrait4730
    @martinbrait4730 4 ปีที่แล้ว +1

    Parfois, je sais que le gestionnaire saisis partiellement l'information (le nom du client), sans lui attribuer immédiatement sa commande. Je prévois du coup systématiquement une ligne de commande vide que j'attribue à la saisie de chaque nouveau client par défaut. Je modifie ultérieurement la commande réelle, en relation avec mon nouveau client. Est-ce que j'ai le droit de procéder de cette façon ? (avantages/inconvénients)

    •  4 ปีที่แล้ว

      Non cette méthode est risquée. Chaque nouvelle ligne doit être automatiquement associée à une référence avec ses dépendances. Les modifications après coup, surtout sur une commande validée, ne sont pas à envisager. Si vous montez et verrouillez correctement l'application, comme dans cette suite d'exercices que je propose, vous ne rencontrerez pas cette mésaventure.

  • @martinbrait4730
    @martinbrait4730 4 ปีที่แล้ว +1

    Le gestionnaire dispose d'une liste déroulante, qui stocke pour lui, un code d'article qui existe vraiment. Comment parvient-il à saisir dans la base un code d'article qui n'existe pas ?
    Est-ce spécifiquement, pour maîtriser les importations de grandes listes d'articles par requêtes, en provenance d'un fichier extérieur, que l'intégrité référentielle contraignante, prend tout son sens ?

    •  4 ปีที่แล้ว

      Bonjour Martin. L'intégrité est une sécurité absolument essentielle. Les contextes sont tellement nombreux. Après déploiement, les utilisateurs peuvent être très nombreux eux aussi. L’administrateur a la charge de sécuriser l'intégrité des données et ce, dès la source, soit par les relations.

  • @martinbrait4730
    @martinbrait4730 4 ปีที่แล้ว +1

    Bonjour Stéphane,
    N'y a t il pas une erreur, d'autoriser la suppression en cascade, entre la table Remises et la table Produits ?
    En effet, que se passe t'il pour les produits lorsqu'une remise particulière est supprimée. La suppression de cette remise entraîne t elle par erreur la suppression de tous les produits qui, un jour, ont été concernés par cette remise ?
    Par ailleurs, en quoi, la coche mise à jour en cascade est-elle pertinente ? Y a t il un cas d'utilisation concret et simple pour l'illustrer ?
    Merci beaucoup pour votre formation, et vos tutoriels !

    •  4 ปีที่แล้ว

      Bonjour Martin. Je vous rejoins sur l'ensemble de vos remarques pertinentes. La suppression en cascade est importante pour les clients dans ce contexte et pas pour un produit. Mais la suppression d'une remise n'occasionne absolument pas la suppression de tous les produits ayant la même remise. Aucune relation n'est établie de la sorte. De plus, dans l'application complète que nous développons ensuite, nous verrouillons les possibilités. Ces risques n'interviennent donc pas. La mise à jour en cascade pourrait intervenir sur le changement de désignation d'un produit ou d'adresse d'un client. Toutes les commandes seraient alors actualisées. Est-ce pertinent ? Pas forcément en effet. Mais une fois encore, dans cette application, nous créons à l'issue des archives en bonne et due forme.

  • @baptistesavin
    @baptistesavin 2 ปีที่แล้ว +1

    Merci pour ces tuto. Je ne suis pas sur de comprendre pourquoi la remise est liée au Produit et non pas a la Commande ?.. Dans la vraie vie on applique des remises sur commande. Merci pour vos lumières.

    •  2 ปีที่แล้ว

      Bonjour Baptiste. Merci pour votre intérêt. Oui, vous avez tout à fait raison. Mais il n'est pas rare de réaliser des promotions sur des produits. Dans ces conditions, lorsqu'elles sont dynamiquement gérées par l'application, elles sont déduites dans la facturation.

    • @baptistesavin
      @baptistesavin 2 ปีที่แล้ว +1

      @ merci !

    •  2 ปีที่แล้ว

      @@baptistesavin Je vous en prie.

  • @avidiuscassiusivanovitch7149
    @avidiuscassiusivanovitch7149 ปีที่แล้ว +1

    Bonjour monsieur stephane très bon cours, je vous suis depuis bien longtemps et j'ai démarrer ma formation Access dès le début avec vos vidéos. Aujourd'hui j'ai un petit blocages sur les tables entrant en jeu dans la conception d'une application de gestion de congés pouvez-vous si vous le voulez bien m'aider en me proposant une explication courte sur les tables et leur liaison.
    merci d'avance.

    •  ปีที่แล้ว

      Bonjour Monsieur.
      Je vous remercie beaucoup pour votre intérêt.
      Je ne saurais cependant vous dire mieux que les explications qui sont fournies dans cette formation. Je vous livre néanmoins l'adresse du sujet détaillé en pas à pas :
      www.bonbache.fr/relations-entre-les-tables-exercice-access-419.html

    • @avidiuscassiusivanovitch7149
      @avidiuscassiusivanovitch7149 ปีที่แล้ว +1

      @ merci, beaucoup .
      Le mécanisme des relations entre les tables, je les connais très bien mieux déjà, j'avais voulu dire les tables en jeux dans la gestion d'une application de congés salariés.
      Néanmoins merci beaucoup d'avoir pris de votre précieux temps pour me répondre.
      Bien à vous cher éminent formateur

    •  ปีที่แล้ว

      ​@@avidiuscassiusivanovitch7149 Je vous en prie Monsieur, j'aimerais pouvoir vous conseiller personnellement mais effectivement je reçois de très nombreuses sollicitations qu'il m'est impossible d'honorer.

  • @martinbrait4730
    @martinbrait4730 4 ปีที่แล้ว +1

    3:18
    A propos de l'ajout de la clef primaire autoincrémentée det_num
    En théorie, la table de liaison Detail_commandes,
    avait une clef primaire composée : clef étrangère det_com + clef étrangère det_ref.
    det_num n'était pas obligatoire.
    J'aime le principe d'ajouter une clef primaire autoincrementée, systématiquement,
    à chaque table. Quels sont vos cas d'utilisations avec cette clef dans une table de liaison ?
    Ma difficulté est de comprendre ce qu'on peut faire decette clef autoincrémentée,
    dans la table de liaison.
    Vos retours d'expérience, s'il-vous-plaît ?
    Merci beaucoup pour votre aide.

    •  4 ปีที่แล้ว +1

      Bonjour Martin et merci pour votre message. Il me semble vous avoir déjà répondu à cette question. Très concrètement, en poursuivant les exercices jusqu'à la fin, vous allez très bien comprendre son utilité. A validation de la facture, nous récupérons le dernier numéro de commande créé grâce à la fonction MaxDom. Sur ce dernier numéro, nous enclenchons une requête dynamique pour inclure le détail lié de la commande dans la table dépendante.

  • @Espoir2210
    @Espoir2210 4 ปีที่แล้ว +1

    En essayant de lier deux tables, j'avais le type de relation "Un à plusieurs" mais en cliquant sur crée il y avait un message "index unique introuvable pour le champs référencé d'une table principale " Les tables que j'ai ce sont : Pratiques (cette table est vide) et la 2e Matériels necessaires pour ce cours(elle est remplie) c'est quoi exactement le problème ? est-ce que je dois créer les enregistrement pour la table Pratique ? DE plus dans ma table Matériels j'ai des cours qui ne se donne pas périodiquement et je ne veux pas les enlever .. est-ce que ca va créer un problème aussi ? Merci

    •  4 ปีที่แล้ว +1

      Bonjour Kal Ad. Les tables ne doivent jamais être remplies avant d'avoir établi les relations. Ce message est sans appel. Il indique que les relations ne peuvent pas être créées puisqu'il existe vraisemblablement un enregistrement enfant qui n'a pas de parent dans la table pilote.

    • @Espoir2210
      @Espoir2210 4 ปีที่แล้ว

      Merci beaucoup pour votre réponse ! j'avais un doute sur ca mais meme en effaçant le contenu des deux tables, le meme message me sort malheureusement ...

    •  4 ปีที่แล้ว

      @@Espoir2210 C'est étonnant. Il faut que vos clés primaire et étrangère soient du même type. A vérifier, c'est impératif.

  • @kouthonantoine6688
    @kouthonantoine6688 3 ปีที่แล้ว +1

    bonjour Professeur. la vidéo ici nest pas lisible sur mon ordinateur. la bande est cryptée. que faire?

    •  3 ปีที่แล้ว

      Bonjour Antoine. Ces vidéos sont publiques sans aucune restriction. Qu'entendez vous par : "la bande est cryptée" ?

    • @kouthonantoine6688
      @kouthonantoine6688 3 ปีที่แล้ว

      @ à la lecture je ne vois aucune image, pas de film du tout.

    • @kouthonantoine6688
      @kouthonantoine6688 3 ปีที่แล้ว

      Je n'entends que le son

    •  3 ปีที่แล้ว

      @@kouthonantoine6688 Pourtant je vous confirme que la vidéo est parfaitement visible.

  • @alainwattelet9961
    @alainwattelet9961 5 ปีที่แล้ว +2

    Bonjour Stéphane,
    Merci.

    •  5 ปีที่แล้ว

      Bonjour Alain. Je vous en prie et merci pour ce message.

  • @goldrakdyzer709
    @goldrakdyzer709 5 ปีที่แล้ว +1

    Bonjour Prof
    Merci pour beaucoup pour l'explication bien détaillée de cette leçon exercice
    fondamentale ( les relation des tables)
    merci

    •  5 ปีที่แล้ว

      Bonjour Goldrak Dyzer, fondamental comme vous le dites si bien. Merci beaucoup pour votre message en retour.

  • @MichelDesaubies
    @MichelDesaubies ปีที่แล้ว +1

    Magnifique, didactique, clair, édifiant, je me réjouis de voir la suite !

    •  ปีที่แล้ว

      Merci infiniment Michel, c'est très agréable et gratifiant.

  • @dawoudahmadou5083
    @dawoudahmadou5083 5 ปีที่แล้ว +1

    Enfin les relations entre les tables j'espère que je vais en finir une bonne fois pour avec cette partie très importante dans Access. Mes questions viendront sûrement par après Merci, Merci et Merci

    •  5 ปีที่แล้ว

      Oui, partie fondamentale dans la construction de l'ossature de l'application. Merci à vous pour ce message Ahmadou.

  • @fabiennephelps3694
    @fabiennephelps3694 5 ปีที่แล้ว +1

    Bonjour Stéphane et merci pour cette nouvelle vidéo.
    Si on le souhaite, y a t - il un moyen de remettre le numéro auto incrémenté de client-Id dans l’ordre après avoir fait des Tests. Dans le cas où l’on voudrait éviter de passer de 34 à 45? J’ai essayé mais n’y parviens pas!
    Je comprends que cette question n’est pas directement relevante pour ce que vous voulez enseigner mais par simple curiosité.
    D’avance merci.
    Bien cordialement
    Fabienne

    •  5 ปีที่แล้ว +1

      Bonjour Fabienne, oui c'est possible et je ferai une vidéo à ce sujet. C'est gênant pour beaucoup mais c'est le processus logique pour des raisons de sécurité. Par défaut bien sûr, la manipulation n'est pas permise. Avec les acquis que nous possédons, l'une des méthodes consisterait, avant la construction des relations, à supprimer la colonne en mode création et à recréer le champ de la clé primaire auto-incrémenté. Merci beaucoup pour votre message en retour.

    • @fabiennephelps3694
      @fabiennephelps3694 5 ปีที่แล้ว +1

      Merci de prendre le temps de répondre à mes questions, j’apprécie beaucoup. Bonne soirée.

    •  5 ปีที่แล้ว

      C'est avec plaisir Fabienne. Je connais l'enjeu de l'application que vous devez monter. Je suis ravi que vous suiviez ces exercices car je l'espère, ils vous apporteront beaucoup de solutions. Nous n'en sommes encore qu'au début. Très bonne soirée à vous également.

  • @mohamedhabani102
    @mohamedhabani102 8 หลายเดือนก่อน +1

    Explication simple et facile meci

    •  8 หลายเดือนก่อน

      C'est un plaisir Mohamed. Merci à vous pour ce message.

  • @martinbrait4730
    @martinbrait4730 4 ปีที่แล้ว +1

    Bonjour Stéphane, merci pour l'excellence de vos explications 'au moindre détail'.
    J'ai effectué quelques projets pour lesquels,
    il m'est arrivé de construire des relations, avec l'impossibilité de pratiquer une intégrité référentielle
    il m'est arrivé de construire des relations, avec des jointures droites ou jointures gauche.
    A votre avis, ce cas peut-il arriver dans le cadre d'une conception normale ?
    Au contraire, est-ce par suite d'une mauvaise conception, qu'on finit par utiliser des relations sans intégrité référentielle, ou jointures inéquivalentes ?

    •  4 ปีที่แล้ว +1

      Bonsoir Martin, tout projet digne de ce nom dans un gestionnaire de base de données relationnelle doit exploiter les relations avec intégrité référentielle. Si tel n'est pas le cas, cela signifie que la conception et notamment le MCD doivent être repensés. Il en va de la pérennité des informations et des ressources de l'application qui évolue et grandit par la suite. Merci beaucoup pour votre intérêt et vos messages.

    • @martinbrait4730
      @martinbrait4730 4 ปีที่แล้ว

      Parfait, votre réponse sans ambiguïté, me sauve la vie, Stéphane !

    •  4 ปีที่แล้ว

      @@martinbrait4730 Je vous en prie.

  • @martinbrait4730
    @martinbrait4730 4 ปีที่แล้ว +1

    Pour des gros projets de plus de 50 tables, avez-vous un conseil d'organisation,
    pour mémoriser les tables et maintenir facilement les règles de gestion ?
    Merci pour votre aide !

    •  4 ปีที่แล้ว

      Un MCD (Modèle conceptuel de données) est absolument nécessaire. L'organisation, la hiérarchisation, la structuration et les relations doivent être étudiées avant d'entrer dans Access. Aucune erreur de conception ne peut être permise.

    • @martinbrait4730
      @martinbrait4730 4 ปีที่แล้ว +1

      Avez-vous un logiciel, style base de connaissance, ou éditeur de cahier des charges, à me conseiller, par expérience ?

    •  4 ปีที่แล้ว

      @@martinbrait4730 Non malheureusement, je ne saurais vous en conseiller un. Pour mes cahiers des charges, je travaille à l'ancienne avec Excel par catégories, groupes avec filtres et recherches.

  • @ahmedbahri4810
    @ahmedbahri4810 2 ปีที่แล้ว +1

    Merci beaucoup cher Prof pour vos explications

    •  2 ปีที่แล้ว

      C'est un plaisir Ahmed. Merci à vous pour ce message.

  • @pourlasciencelanature1090
    @pourlasciencelanature1090 ปีที่แล้ว +1

    merci bonne prentation

    •  ปีที่แล้ว

      Merci beaucoup.

  • @mikekasongo8985
    @mikekasongo8985 2 ปีที่แล้ว +1

    Merci pour l'explication

    •  2 ปีที่แล้ว

      Je vous en prie Mike. Merci à vous pour ce message.

  • @pourlasciencelanature1090
    @pourlasciencelanature1090 8 หลายเดือนก่อน

    merci bonne explication clair tres pedagogique merci infinimiment je suivrai vos cours

    •  8 หลายเดือนก่อน

      J'en suis très honoré.
      Merci beaucoup pour ce message en retour.

  • @frogeregis
    @frogeregis 5 ปีที่แล้ว +1

    Merci beaucoup Stéphane

    •  5 ปีที่แล้ว

      Avec plaisir François.

  • @martinbrait4730
    @martinbrait4730 4 ปีที่แล้ว

    Pourquoi votre table de référence ne contient-elle pas les 2 attributs : DateDebutValidité, DateFinValidité ?
    Est-ce volontaire ? Est-ce un oubli ?

    •  4 ปีที่แล้ว

      Je suppose que vous voulez parler de la table Remises ? Non ce n'est pas un oubli, c'est volontaire et je l'évoque au cours de l'apprentissage qui est long et résout des cas complexes. J'ai du faire des coupes franches pour soigner la progression pédagogique. Mais une fois l'application bâtie, le plus dur étant réalisé, chacun peut à sa guise l'améliorer. La présence des relations n'empêche en rien l'évolution des champs de table.

  • @Asebrak
    @Asebrak 3 ปีที่แล้ว

    Bonjour Monsieur Stéphane,
    Votre explication ordonnée et minutieuse m'a permis de mieux comprendre les relations entre tables plutôt que de simplement les appliquer. Merci infiniment pour ce grand effort.

    •  3 ปีที่แล้ว +1

      Bonjour Assem. C'est un très grand plaisir. Je vous remercie beaucoup pour ce témoignage.

  • @patrickfilippini4259
    @patrickfilippini4259 ปีที่แล้ว

    génial .. explications claires et détaillees exposées de facon reposantes

    •  ปีที่แล้ว

      C'est un plaisir Patrick.
      Merci beaucoup pour ce message.

  • @azzazeghidi6555
    @azzazeghidi6555 10 หลายเดือนก่อน

    Bonjour professeur ❤merci beaucoup ❤

    •  10 หลายเดือนก่อน

      Très heureux. Merci à vous.

  • @D_DIABY
    @D_DIABY 3 ปีที่แล้ว

    M. Rossetti, c'est avec un plaisir immense que j'ai découvert vos vidéos sur access. J'ai un petit service à vous demander, étant un novice dans la manipulation d'Access.
    Je veux concevoir une base de données pour gérer les notes d'élèves dans une seule matière. Les élèves sont repartis dans plusieurs établissements avec leurs classes respectives. Les évaluations portent sur deux semestres avec chacun 3 devoirs et 1 composition.
    J'ai besoin d'idées sur la conceptions des différentes TABLES et les relations existantes entre elle.
    Vos astuces access sont simplement époustouflantes. Merci pour tout !

    •  3 ปีที่แล้ว +1

      Bonjour Plume-Pieuvre. Votre message est un véritable plaisir. Je vous en remercie très chaleureusement. Pour votre cas, vous devez séparer explicitement toutes les données dans différentes tables, celle des élèves, celle des classes, celle des établissements et celle des devoirs. Les classes doivent être reliées aux établissements par le jeu des relations entre clé primaire et clé externe. Les élèves doivent être reliés aux classes de la même façon. De même, celle des devoirs doit être reliée aux classes pour qu'ils correspondent indirectement aux élèves appartenant à ces classes.

    • @D_DIABY
      @D_DIABY 3 ปีที่แล้ว +1

      @ Merci pour votre réponse express et explicite. Je vous ai également parlé de semestres. Il y a deux semestres, chacun avec ses évaluations (3 devoirs et une composition).
      Merci merci !
      Je suis en train d'ingurgiter vos tutos sur clients-commandes, j'en suis aux formulaires.

    •  3 ปีที่แล้ว

      ​@@D_DIABY Je suis ravi que vous suiviez la Playlist que je propose. Elle est très aboutie. Vous pouvez créer une table semestre avec des numéros (1 et 2) pour les différencier et rappeler ces numéros dans la table parent des devoirs.

  • @224fm6
    @224fm6 2 ปีที่แล้ว

    Svp, je veux acheter votre livre svp

    •  2 ปีที่แล้ว

      Bonjour Daroul.
      Merci beaucoup pour votre intérêt.
      Vous pouvez vous le procurer à cette adresse :
      www.bonbache.fr/livres-access-pdf.php#livre-access-exs
      Ou encore à celle-ci :
      shopebook.creator-spring.com/listing/le-livre-des-exercices-access?product=1227