-
table access et liaison
Bonjour a tous. Je demande un petit coup de main car j'ai cherché partout sur le net sans trouver une réponse que je comprenne. Mon problème est le suivant. j'ai une bbd pour mon programme et elle est sous access. je sais que ce n'est pas la meilleur selon certain mais c'est celle que je comprend donc que j'utilise. Je sais tres bien comment utiliser une bdd avec 1 table voir plusieur mais jamais lié l'une a l'autre. Voici mon projet. Je fais un petit jeu pour mon enfants. c'est un jeu style gladiateur ou l'on se crée un personnage avec des statistique et tout. Ce que je cherche a faire, je veux que dans mon programme, je puisse choisir une ville ou il y a des combat ( via une comboBox) et que le programme regarde dans la table la liste de tous les adversaire possible dans cette ville. L'idée que j'ai eu, sans lier de table, est de créer une table par ville. Mais ce n'est pas très propre.
Donc en résumé, comment faire pour utiliser des table lié entre elle (je sais comment les liés). j'utilise ms access 2007 et visual studio 2010. je programme en Frame 4.0
Merci a l'avance car la j'avoue ne rien comprendre sur l'utilisation de table lié.
Merci
-
en gras le nom de table
en souligné, la clé primaire
Ville
IdVille
NomVille
Adversaires
IdAdversaire
NomAdversaire
IdVille
une fois la ville choisie dans le combobox de choix de ville, tu récupères l'id de cette ville, et pour trouver les adversaires possibles :
Code:
command.commandtext = "SELECT * FROM Adversaires WHERE IdVille = " & IdVilleSelectionné
travaillé avec des clés est utile, ca permet de changer le nom de la ville dans la table ville sans modifier la table adversaires, et les liens seront gardés
après au niveau de la base on peut rajouter un contrainte d'intégrité (enfin j'espère qu'access le permet)
ca permet de ne pas avoir de données erronées
par exemple un fois l'intégrité créée pour relier les 2 champs IdVille, la suppression d'une ville sera impossible si elle a des adversaires qui y font référence, il faudra d'abord supprimer les adversaires
ce n'est pas obligatoire, l'intégrité peut aussi être gérée par le code ou même ignorée sur des petits programmes ^^
bonus : requête qui permet d'afficher tous les adversaires et leur ville d'appartenance :
SELECT * FROM Adversaires INNER JOIN Ville ON Adversaires.IdVille = Ville.IdVille
-
1 seul mot, WOW!!! exactement le genre de réponse que je cherchait! merci énormément pour cette réponse très clair. Maintenant c'est beaucoup plus facile. Donc grâce a toi, mon projet peut enfin continuer. Merci beaucoup.