|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 25 ![]() |
Bonsoir,
Je découvre Access au petit à petit et à chaque jour (ou presque) son problème. J'ai 3 tables : Table_Temperature Valeur_T (clé primaire) Table_Lieu Valeur_Lieu (clé primaire) Valeur_points Table_Association Valeur_Lieu (clé primaire) Valeur_T (clé primaire) Valeur_point L'idée est la suivante : En fonction de Valeur_Lieu et de Valeur_T on affecte Valeur_Points. Jusque là tout semble bien se passer. Mais en réalité, on ne regarde Valeur_T uniquement pour certaines valeurs de Valeur_Lieu. En fait, ce qu'on ne veut pas faire c'est lister tous les cas (car il y en a bien trop et en cas de modification ce sera trop fastitidieux). Par exemple : si valeur_lieu = extérieur alors on regarde Valeur_T pour affecter le nombre de points Valeur_Points dans la table_Association. si valeur_lieu = salle1 alors on affecte tout de suite le nombre de points (que l'on voudra récupérer dans la Table_Association) et ce nombre de points est complètement indépendant de Valeur_T J'ai essayé de jouer avec les jonctions pour pouvoir avoir une "recopie" de toutes les Valeurs_T en face de Valeur_lieu lorsque l'on ne dépend pas de Valeur_T. Je souhaiterai faire ça uniquement avec des requêtes et des tables... Est-ce possible ? Merci à vous et bonne soirée |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Serait-ce la même discussion que celle-ci.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 25 ![]() |
Bonsoir,
Non ce n'est pas la même chose, bien que ce soit encore moi qui ai écrit. Ici, pas de champ à calculer. J'ai compris comment lier mes tables, mais dans ce nouveau cas je n'ai pas des valeurs partout. Je vais illuster mes propos dans quelques instants |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 25 ![]() |
Voilà, je vais éclairer mes propos avec une petite image montrant mes relations et mes tables, avec quelques valeurs.
Exemple et problèmes de points.jpg Ca coince avec les Valeur_points car l'idée serait de faire une liaison entre les tables : table_Lieu et table_Association, mais ce n'est pas possible car il y a des trous. En fait je ne suis pas certaine qu'il existe une solution dans la position actuelle du problème. Mais j'aimerais vraiment résoudre ça uniquement avec des requêtes et des jonctions (c'est pour ça que j'avais tenté de jouer avec les différents types de jonction). J'espère que c'est plus clair avec mon petit dessin. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Je pense qu'il faut que tu retires la table Données de tes relations : c'est trompeur. Il s'agit, si j'ai bien compris, des données qui doivent aboutir à un résultat en fonction d'une analyse de tes trois autres tables.
Si j'ai bien compris, les points de Table_Lieu sont, en quelque sorte, la valeur "par défaut" d'un lieu. Une première requête R1 : - Table_lieu, en premier (SELECT) ; - liée à Table_Association (SELECT), avec flèche à droite (LEFT JOIN), via Lieu ; - sélectionner tous les champs. ==> donnera la liste des lieux avec leurs points par défaut (Table_lieu) et, le cas échéant, leurs points pour des températures données. Ensuite, créer d'autres requêtes Rx qui prennent les point par défaut d'un lieu ou les points d'une tranche ou d'un couple Lieu/Température.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 25 ![]() |
Bonjour,
Merci pour cette réponse. Oui, c'est bien une "valeur par défaut" que j'ai mis dans la table_Lieu, car elle n'a pas besoin d'autres paramètres. J'ai essayé ta méthode et ça tourne. Il faut que j'arrive maintenant à ce que quelque soit la Valeur_Temperature lorsque l'on est dans un cas où Valeur_Lieu n'a pas besoin d'autre paramètres, je récupère tout de même le bon nombre de points. C'est-à-dire, qu'en face d'une valeur_Lieu avec une valeur par défaut de points, quelque soit la Valeur_Température (sans que l'on ait besoin de saisir manuellement tous les cas), je récupère la bonne Valeur_Points dans ma requête. Bon week-end. |
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour C.breizh,
Citation:
- Lieu ; - Lieu_Points ; - Temperature ; - Lieu_Temperature_Points ; ... Via l'assistant, crées une requête R2 qui analyse R1 en employant la fonction VraiFaux(Lieu_Temperature_Points est null ; Lieu_Points ; Lieu_Temperature_Points), qui veut dire que les points du couple Lieu_Temperature sont "prioritaires" sur ceux de "Lieu". Sinon, les points "par défaut" sont pris, via "Lieu".
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 25 ![]() |
Bonjour et merci, ça fonctionne
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com