Menu

Affecter un nom de champ par le contenu d'un autre [Résolu]

Eddieb83 3 Messages postés lundi 9 avril 2012Date d'inscription 10 juin 2018 Dernière intervention - 9 juin 2018 à 18:35 - Dernière réponse : Eddieb83 3 Messages postés lundi 9 avril 2012Date d'inscription 10 juin 2018 Dernière intervention
- 10 juin 2018 à 21:14
Peut-on, dans une table, indiquer le champ d'une autre table dont on veut récupérer le contenu ?
Cas pratique :
- une table T1 contient les champs [date_effet1], [H1], [H2], [H3] et [H4].
- une table T2 contient les champs [date_effet2], [C1], [C2], [C3] et [C4]. [C4] contient une valeur qui est le nom du champ de T1 à récupérer. (exemple : dans l'enregistrement #1, le contenu de [C4] est "H2" et, dans l'enregistrement #2, le contenu de [C4] est "H4").
- une relation existe entre [date_effet2] et [date_effet2]
- est-il possible, dans une requête, après avoir précisé la date d'effet au moyen d'une boîte de dialogue Paramètres (=[date_effet1] et [date_effet2]), d'obtenir les contenus de [C1], [C2], [C3] et [H2] pour #1 et [H4] pour #2 ?
Afficher la suite 

Votre réponse

4 réponses

yg_be 6258 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 20 août 2018 Dernière intervention - Modifié par yg_be le 10/06/2018 à 11:38
0
Merci
bonjour, je pense que, dans une requête, tu peux faire cela en utilisant la fonction iif ou la fonction dlookup.
exemple avec dlookup:
SELECT eddie1.dt, eddie2.c1, eddie2.c2, eddie2.c3, eddie2.c4,
 DLookUp(eddie2.c4,"eddie1","format(eddie1.dt,'yyyymmdd')='"&format(eddie1.dt,'yyyymmdd')&"'")
FROM eddie1 INNER JOIN eddie2 ON eddie1.dt = eddie2.dt;
Eddieb83 3 Messages postés lundi 9 avril 2012Date d'inscription 10 juin 2018 Dernière intervention - 10 juin 2018 à 12:33
Merci, mais le problème n'est pas de récupérer la date mais plutôt un le contenu d'un champ dont le nom est dans une autre table.
yg_be 6258 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 20 août 2018 Dernière intervention > Eddieb83 3 Messages postés lundi 9 avril 2012Date d'inscription 10 juin 2018 Dernière intervention - 10 juin 2018 à 12:42
l'as-tu testé?
c'est exactement ce que cela fait. cela récupère dans la table eddie1 le contenu du champ dont le nom est dans le champ c4 de la table eddie2. la date est utilisée pour récupérer le champ dans le bon enregistrement de la table eddie1.
Eddieb83 3 Messages postés lundi 9 avril 2012Date d'inscription 10 juin 2018 Dernière intervention - 10 juin 2018 à 21:14
Super ! J'avais lu un peu trop vite et sans tester, sans remarquer le premier argument. Là, tout fonctionne et le résultat souhaité est atteint. Encore merci.
Commenter la réponse de yg_be