Bonjour,
J'ai cherché un message similaire dans le forum mais je ne l'ai pas trouvé, j'espère ne pas faire de doublons.
Je me trouve aujourd'hui avec une base de données sur Access 2007 comportant environ 40 tables (dont une grande partie sont des tables de liaison).
Ma base est une base bibliographique améliorée qui est en quelque sorte divisée en trois parties :
- D'un côté le terrain des études, avec toutes les données particulières au terrain (environ 12 tables)
- D'un autre côté le stockage bibliographique des études (approx. 10 tables)
- Et le reste fait référence aux concepteurs, organismes et laboratoires, ainsi qu'a des données de caractérisation des études.
Ces trois domaines sont reliés entre eux par la table centrale : Étude.
Donc, si je veux créer une requête permettant d'obtenir le type d'outil favori d'un auteur, je dois prendre en compte les tables concepteur, liaison concepteur etude, Etude, liaison etude terrain, terrain, outil, type outil
Pour une simple requête.
Le problème réside dans le fait que j'ai de nombreuses requêtes de ce type à créer et que j'aimerai réaliser un menu de "méta-analyse" qui permettrait de sélectionner les deux tables que l'on veut étudier, les champs de ces tables à croiser et qui lancerait la requête en question.
Je ne suis cependant pas sure qu'il s'agisse de requêtes paramétrées.
J'étais donc partie sur la création d'un code qui permettrait d'obtenir un "squelette" qu'il suffirait de remplir en sélectionnant les tables adéquates dans des listes déroulantes.
Seulement, je maîtrise peu le codage et même l'aide que j'ai pu demander autour de moi s'est révélée infructueuse.
J'ai une douzaines de table à croiser, ce qui donne une quinzaine de champs. (seules les tables terrain et études demandent à ce que l'on croise plusieurs champs : le nom et l'id de l'étude, ou l'année de l'étude, idem pour le terrain).
J'ai plusieurs champs à croiser dans une requête. Par exemple, il m'est nécessaire de croiser nom ET prénom du concepteur, dans la mesure où j'ai des concepteurs avec des noms identiques.
Et le problème clé est que les tables ne sont pas reliées directement entre-elles (pas toutes) mais qu'il faut passer par certaines tables pour atteindre les autres.
En résumé j'aimerai croiser des tables comme concepteur, étude, terrain, type outil, mot clés ... et choisir les champs à croiser juste en sélectionnant le tout dans une liste déroulante de formulaire ...
On pensait utiliser le code d'une requête de base comme "moule" pour faire les autres et les réunir toutes ensemble.
Du coup on cherchait tout d'abord à créer un code qui puisse permettre de trouver le "chemin" entre les deux tables simplement en les sélectionnant.
Une sorte d'algorithme du chemin le plus court.
Une macro qui permettrait de retrouver les liaisons reliant deux tables, même très distantes (même si cela implique de passer par 5 tables intermédiaires).
Quelque chose qui se baserait sur les algo de la ratp
Quelqu'un aurait-il une idée ?
J'espère que vous pourrez et voudrez bien m'aider,
Je vous remercie par avance d'avoir bien voulu lire ma demande d'aide.
Kuccia
Partager