|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : décembre 2006 Messages : 135 ![]() |
Bonjour à tous,
Je me dois de réunir en une seule tables plusieurs attributs. Or, ces attributs appartiennent à plusieurs tables différentes. J'ai fait une requête mais ça ne va pas car ma base devient trop lourde dans ce cas (répétition d'un champ contenant beaucoup de texte...). Si quelqu'un sait comment créer une table en allant piquer des attributs dans d'autres tables, qu'il me fasse signe. Ce serait très très agréable. J'espère ne avoir été trop flou. En attendant vos réponses, je vous remercie. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 095 ![]() |
Bonjour,
Si par "attribut" tu veux parler de champs la méthode de la requête semble être la seule. Peut-être que si tu étais plus flou ou moins précis dans ton explication nous y verrions plus clair. Surtout en précisant quel est ton but. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 34 ![]() |
Une idée:
Tu fabrique une requete création de table pour obtenir les éléments qui t'interessent. Cette table remplacera les tables en cours soit dans ta base soit dans une autre base. Si les tables initiales sont des tables supposer évoluer tu crée une requête ajout pour ajouter les enregistrement. Mais sans savoir ce que tu veux faire celà semble difficile de t'aider. Marmotine: Marmotte mutine |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : décembre 2006 Messages : 135 ![]() |
Merci pour vos réponses. J'ai essayé marmotine mais j'ai planté mon ordi. Je peux enfin répondre (maudit access 2000!).
Je l'explique. je travaille sur une base de données juridique que je bascule sur Access. J'importe mes fichiers html pour en faire des tables et je crée les relations. Ensuite, on me demande de faire une requête qui servira à l'exportation d'un fichier word (modèle pour sortir les sentences juridiques comme ils le désirent). La requête en question fait intervenir trois ensembles : 1 : les références 2 : les descripteurs 3 : le sommaire l'ensemble 1 renvoit à la table "référence" l'ensemble 2 renvoit à la table "drescripteur" l'ensemble 3 renvoit aux tables "thème", "sous-thème" et sous-sous thème" champs de "descriptif" : n° de référence, texte descriptif champs de "référence" : n° de référence, n° de thème, n° du ss thème, n° du ss-ss thème champs de thème : n° thème, descriptif du thème champs de sous thème : n° sous thème, descriptif du sous thème champs de sous-sous thème : n° sous-sous thème, descriptif du sous-sous thème il faut que je regroupe tous ces éléments. Je fais alors une requête. Mais, c'est trop lourd selon mon responsable car le texte descriptif est trop important et, comme plusieurs milliers de références lui font appel, mon ordi bug. Il faut alors que je crée une table regroupant tous ces attributs et sans que les liens soient perdus. Ceci permetteraient que les textes descriptifs soient cités une seule fois chacun et non plusieurs centaines de fois. Mon responsable est persuadé que c'est possible. J'ai des doutes car j'ai jamais rassemblé des champs de différentes tables dans une nouvelle table (dans une requête, oui, mais pas dans une table !). Voilà, j'espère avoir éclairci mon propos. Encore pardon. Si quelqu'un a une idée... merci d'avance... Un documentaliste désoeuvré |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
si j'ai bien compris tu as une unique base de donnée avec plusieurs tables dont tu voudrais faire une requete.
mais tu as un problème: ta requete est inexploitable car tu as un champ 'descriptif' trop volumineux et cela le ralenti trop voir plante ton ordi. tu souhaite donc crée une copie des résultats de ta requete dans une table pour accélérer la consultation des données. mais puisque ton ordi plante sur ta requete, tu cherche une méthode pour le faire à sa place et mettre les résultats dans une table. es ce bien cela? si c ca je dirais que c possible en codant mais ce n'est pas une bonne solus car tu dois remettre à jour cette table à chaque changement à moins de ne plus travailler qu'avec cette nouvelle table et donc de tout reconcevoir. pour moi je ne vois pas l'utilité d'avoir cette table, ton problème est au niveau de ta requete. à ta place je travaillerais avec deux requetes: une requete A: contenant uniquement tes clefs primaires (n° référence,n° de thème, n° du ss thème, n° du ss-ss thème) avec leur liaisons une requete B: contenant le résultat A lié à leur 'descriptifs' respectifs je pense qu'ainsi le moteur ne plantera plus à associer des centaines de fois des champs qui n'ont pas lieu d'être mais j'suis pas le concepteur du moteur donc à vérifier... |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : décembre 2006 Messages : 135 ![]() |
Bon jour à tous et merci pour la réponse. J'ai vraiment progressé dans l'amélioration de ma base et surtout dans ma recherche de solutions !!!
j'ai donc fait le travail en plusieurs étapes c'est à dire en plusieurs requête et plus une seule. J'ai fait trois requêtes en réalité et non deux comme tu me l'as conseillé. Requête 1 : je croise les numéros de références, les thèmes, sous-thèmes et sous-sous thèmes Requête 2 : je croise les sentences avec ce que j'ai obtenu au-dessus Requête 3 : je croise les descriptifs avec tout ce que j'ai pu obtenir après la deuxième étape Le raisonnement est excellent et me permet d'y arriver. Mais, c'était trop beau !!! dès la requête 1, j'ai un souci. La liaison est assurée entre les tables références, thème, sous-thème mais pas avec la table sous-sous thème. En effet, la requête me ressort tous les champs du sous-sous thème alors que je ne lui en demande qu'un seul !!! celui du sous-thème en question. Si quelqu'un voit d'où cela peut venir, je le remercie d'avance... j'ai vérifié mes relations : tout tient debout... bref, c'est la mouise |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
il existe pour les requêtes une clause group by qui devrait t'aider
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
effectivement à chaque requete tu dois faire un regroupement c'est ce travaille qui va limiter la duplication en centaine de fois:
quand tu exécute qu'une seul requete il te crée toutes les liaisons possible ensuite il les filtres toi tu les filtres (par group by) et puis tu fait la liaison sur les données 'lourd' après. Citation:
|
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : décembre 2006 Messages : 135 ![]() |
merci, merci mais j'ai constaté que j'ai fait une erreur non pas de manipulation mais d'interprétation. Je vous explique : je remet à jour de très vieux fichiers du conseil d'Etat d'Uruguay et... je viens de me rendre compte que la base de données que l'on m'a fourni il y a deux semaines est... un SGBD !!! et non un SGBDR... j'ai honte
C'est une bonne leçon en tout cas. Merci de vos efforts. camille |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com