Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion: Difficultés à relier des tables [AC-2007]

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2018
    Messages : 6
    Points : 2
    Points
    2

    Par défaut Difficultés à relier des tables

    Bonjour à tous,

    je suis débutant sur access (2007) et je viens chercher votre aide pour, je l'espère, me débloquer !

    Voilà la situation :

    J'ai réalisé 1 table "élements" qui comporte les champs "nomElement", "Besoins", "Fonctions"

    J'ai également réalisé 1 table "Besoins" et 1 table "Fonctions", qui ne contiennent chacune qu'un champs "nom" et qui me permettent de remplir ma table "éléments" grâce à des listes déroulantes dans les champs respectifs de celle-ci.

    Jusque là, pas trop de difficulté. Maintenant, j'aimerais :
    - en allant dans ma table "fonctions" pouvoir rechercher tous les éléments qui remplissent la/les fonctions demandées, OU
    - en allant dans ma table "besoins" pouvoir rechercher tous les éléments qui dépendent du/des besoins demandés.
    - OU LE TOP DU TOP (mais pas sûr que c'est réalisable) : faire apparaître par rapport à 1 élément tous les éléments qui remplissent les fonctions qui répondent à ses besoins / OU tous les éléments dont les besoins sont remplis par ses fonctions.

    Je ne sais pas si c'est très clair pour vous, mais en fait c'est très simple. Prenons un exemple concret :

    Prenons 3 éléments : poule, potager et arbre La poule a en besoin "ombre" et en fonction "fertilisant" ; l'arbre a en fonction "ombre"; et le potager a en besoin "fertilisant".

    Ainsi j'aimerais :
    - sachant que la poule a besoin d'ombre, aller dans la table "fonctions" et faire apparaitre tous les éléments qui ont une fonction "ombre" (ici l'arbre)
    - OU sachant que la poule a pour fonction "fertilisant", aller dans la table "besoins" et faire apparaitre tous les éléments qui ont besoin de "fertilisant" (ici le potager)
    - OU LE TOP DU TOP : faire apparaitre par rapport à la poule tous les éléments qui répondent à ses besoins (arbre ...) et tous les éléments dont les besoins seront remplis par ses fonctions (potager...)

    Pensez-vous pouvoit m'aider ?

    En vous remerciant ,

    Félix

  2. #2
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2018
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    J'avoue que malgré mes recherches je n'arrive pas à réaliser ces liens entre mes tables... Je suis preneur de toute aide ou tentative d'aide, car je suis vraiment coincé et je reste persuadé que la solution est relativement simple pour des connaisseurs !

    En vous remerciant d'avance,

    Félix

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    12 558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 12 558
    Points : 19 146
    Points
    19 146

    Par défaut

    Bonjour.

    Desole, rien compris a ton architecture actuelle.

    Peux-tu poster une copie d'ecran de la fenetre des relations ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2018
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    Bonjour, merci d'avoir pris le temps de vous pencher sur mon problème.

    Voici une capture d'écran de ma fenetre relations.Nom : Sans titre.png
Affichages : 47
Taille : 140,7 Ko

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    12 558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 12 558
    Points : 19 146
    Points
    19 146

    Par défaut

    Bonjour.

    Tu as utiliser des champs Multivaleurs et ils se comportment differement des champs standard.
    C'est en fait une table dans un champ.
    Je ne m'en sers pas mais je crois qu'il faut mettre [NomDuchamp].Value pour acceder aux diverses valeurs.

    Meme si ils ont un certain charme je t'invite a ne pas les utiliser et a les remplacer par des tables d'associations qui sont une solutions plus habituelle et attendue.

    Donc cela donnerai quelque chose comme :

    tblElement
    Id
    Autres infos

    tblBesoin
    Id
    Autres infos

    tblFonction
    Id
    Autres infos

    tblAssElementBesoinFonction
    Id
    IdElement
    IdBesoin
    IdFonction

    en relation avec :

    • tblElement
    • tblBesoin
    • tblFonction


    Je pense qu'avec cette structure tu pourras repondre a ton besoin avec des requetes classiques.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2018
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    Bonjour,

    Merci pour votre réponse, je sens que l'on avance. Mais il me semble qu'avec la configuration que vous me proposez, je ne peux associer qu'une seule fonction ou un seul besoin par élément, or j'aurais aimé en associer plusieurs, d'où mon choix pour les champs multivaleurs...

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    12 558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 12 558
    Points : 19 146
    Points
    19 146

    Par défaut

    Bonjour.

    Avec :

    tblAssElementBesoinFonction
    Id
    IdElement
    IdBesoin
    IdFonction

    Tu as raison tu ne peux associer qu'une seule fonction ou un seul besoin par élément par enregistrement mais tu peux avoir autant d'enregistrements que tu veux.

    Donc ca donne quelque chose comme :
    • IdElement1, IdBesoin1, IdFonction1
    • IdElement1, IdBesoin1, IdFonction2
    • IdElement1, IdBesoin1, IdFonction24
    • IdElement1, IdBesoin31, IdFonction45
    • IdElement1, IdBesoin31, IdFonction2
    • IdElement100, IdBesoin1, IdFonction25


    C'est en realite ce que tu fais dans ton champ multivaleur mais cela ne parait pas.

    Pour la saisie,
    1. Fait un formulaire en mode feuille de donnees.
    2. Defini sa source comme etant tblAssElementBesoinFonction (ou une requete base sur tblAssElementBesoinFonction).
    3. Ajoutes-y 3 liste deroulantes basees sur tes tables de references.

    Comme cela tu vas pouvoir choisr le text en clair au lieu du Id.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2018
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    Bonjour et merci pour votre aide !

    J'ai réussi à réaliser le formulaire tel que vous le préconisez, c'est un peu laborieux à remplir mais je me doute qu'il n'existe pas d'alternative, Merci donc !

    Maintenant que nous touchons au but, pourriez vous m'expliquer la démarche à suivre pour réaliser les manoeuvres suivantes :

    - en indiquant une fonction, pouvoir obtenir tous les éléments qui l'ont en fonction
    - en indiquant un besoin, pouvoir obtenir tous les éléments qui l'ont en besoin
    - OU LE TOP DU TOP, en indiquant 1 élément, pouvoir obtenir tous les éléments qui ont en fonctions ses besoins / OU tous les éléments qui ont en besoins ses fonctions.

    Je vous remercie encore mille fois pour votre aide, ça me fait gagner un temps fou !

    Bien sincèrement,

    Félix

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    12 558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 12 558
    Points : 19 146
    Points
    19 146

    Par défaut

    Bonjour.

    c'est un peu laborieux à remplir
    Oui je suis d'accord mais c'est pour ton bien :-).

    si c'est pour "une fois", la methode la plus simple est de creer une requete specifique (et ce sera formateur pour le cas ou ce ne serait pas qu'une seule fois).

    - en indiquant une fonction, pouvoir obtenir tous les éléments qui l'ont en fonction
    On peut peut-etre utiliser l'assistant mais cela fait tellement longtemps que je ne m'en sers plus donc j'ai oublie les details de ses capacites.
    Je vais decrire les etapes manuelles.

    1. Tu crees une nouvelle requette
    2. Tu y ajoutes tblAssElementBesoinFonction , ca c'est pour les donnees
    3. Tu y ajoutes tblFonction et tblElement. Ca c'est pour voir les infos en clair si tes Id sont des numeros.
    4. Tu selectionnes tous les champs de tblAssElementBesoinFonction et tu les glisses dans les colonnes.
    5. Tu selectionnes les champs de tblFonction que tu veux et tu les glisses dans les colonnes.
    6. Meme chose avec tblElement
    7. Tu affiches le resultat,
      Tu devrais voir toutes tes informations.
    8. Tu reviens en modif.
    9. Te te mets dans la colonne IdFonction, sur la ligne critere e tu y tapes l'id qui t'interesse.
    10. Tu affiches le resultat.
      Tu ne vas voir que les elements qui ont cette function.



    - en indiquant un besoin, pouvoir obtenir tous les éléments qui l'ont en besoin
    Desole je te reviens plus tard. Alarme incendi.

    - OU LE TOP DU TOP, en indiquant 1 élément, pouvoir obtenir tous les éléments qui ont en fonctions ses besoins / OU tous les éléments qui ont en besoins ses fonctions.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    12 558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 12 558
    Points : 19 146
    Points
    19 146

    Par défaut

    Alors je reprends.

    Pour

    - en indiquant un besoin, pouvoir obtenir tous les éléments qui l'ont en besoin
    C'est la meme chose que pour

    en indiquant une fonction, pouvoir obtenir tous les éléments qui l'ont en fonction
    Sauf que tu fais la selection sur la fonction au lieu du besoin.

    Et pour

    - OU LE TOP DU TOP, en indiquant 1 élément, pouvoir obtenir tous les éléments qui ont en fonctions ses besoins / OU tous les éléments qui ont en besoins ses fonctions.
    C'est aussi la meme chose a une nuance pres, il faut utiliser 2 ligne pour les criteres.
    Sur la 1ere ligne tu mets le critere de la function
    Sur la 2nde ligne tu mets le critere du besoin

    Si tu mets les 2 criteres sur la meme ligne, tu fais in ET logique, c-a-d que tu vas avoir les elements qui ont a la fois le besoin et la function.

    Si tu veux quelque chose de plus polyvalent, ca se complique un brun et je t'invite a allez voir les tutoriaux sur les formulaires de recherches ici :
    https://access.developpez.com/cours/...#formrecherche

    Il y en a tout une panoplie qui repondent a divers besoin.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  11. #11
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2018
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    SUPER on y est !

    Je te remercie encore pour ton aide précieuse !

    En te souhaitant une bonne continuation,

    Félix

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Relier des tables entre elles
    Par Shinoda00 dans le forum PHP & MySQL
    Réponses: 4
    Dernier message: 06/03/2009, 15h23
  2. relier des tables d'une manière efficasse
    Par dimebagplan dans le forum Schéma
    Réponses: 4
    Dernier message: 22/12/2008, 21h48
  3. Relier des tables
    Par aaliyan dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/04/2007, 11h14
  4. Réponses: 3
    Dernier message: 21/11/2006, 19h26
  5. Comment relier des tables sous PHPmyAdmin
    Par BigDavid dans le forum Débuter
    Réponses: 1
    Dernier message: 26/07/2006, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo