Affecter un nom de champ par le contenu d'un autre

Résolu
Eddieb83 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Eddieb83 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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 ?

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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;
0
Eddieb83 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Eddieb83 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Eddieb83 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0