Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête sélection renvoi l'Id et pas le nom

6 réponses
Avatar
moromain
Bonjour,

J'ex=E9cute une requ=EAte =E0 partir d'une table "communes" (la requ=EAte
permet de faire une pr=E9-s=E9lection des communes s=E9lectionnables).
La requ=EAte ne renvoie QUE le nom de la commune. Aucune op=E9ration de
s=E9lection n'est faite sur l'Id.
Et pourtant, dans le formulaire de s=E9lection, c'est l'Id de la commune
qui apparait.
Le formulaire fait bien r=E9f=E9rence =E0 la requ=EAte (pas =E0 la table).
Que faire pour que ce soit le nom, et non l'ID, qui soit
s=E9lectionnable ?
J'ai fait la m=EAme op=E9ration pour d'autres =E9l=E9ments, toujours sur le
m=EAme principe et je ne comprends pas la diff=E9rence.

Merci !

6 réponses

Avatar
Thierry (ze Titi)
Bonjour moromain !

Quel est le SQL de ta requête ? Dans quoi affiches-tu l'info, une liste
déroulante ?

Message du jeudi 04/10/2007

Bonjour,

J'exécute une requête à partir d'une table "communes" (la requête
permet de faire une pré-sélection des communes sélectionnables).
La requête ne renvoie QUE le nom de la commune. Aucune opération de
sélection n'est faite sur l'Id.
Et pourtant, dans le formulaire de sélection, c'est l'Id de la commune
qui apparait.
Le formulaire fait bien référence à la requête (pas à la table).
Que faire pour que ce soit le nom, et non l'ID, qui soit
sélectionnable ?
J'ai fait la même opération pour d'autres éléments, toujours sur le
même principe et je ne comprends pas la différence.

Merci !


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
moromain
La première requête (R_ChoixStation) regroupe simplement les champs de
3 tables :
SELECT T_BV.NomBV, T_Riviere.Riviere, T_Station.NumStation,
T_Station.CommuneStation
FROM (T_BV INNER JOIN T_Riviere ON T_BV.NomBV =
T_Riviere.NomBVRiviere) INNER JOIN T_Station ON T_Riviere.Riviere =
T_Station.RiviereStation;

A partir de celle-ci, j'exécute la fameuse requête :
SELECT R_ChoixStation.CommuneStation
FROM R_ChoixStation
GROUP BY R_ChoixStation.CommuneStation, R_ChoixStation.Riviere
HAVING (((R_ChoixStation.Riviere)=[choixriviere].[value]))
ORDER BY R_ChoixStation.CommuneStation;

L'info est affichée dans une zone de liste déroulante.

La logique de la recherche est la suivante : Riviere > Commune >
Station.
Chaque champs étant sélectionné depuis une zone de liste déroulante.
Avatar
Thierry (ze Titi)
L'info est affichée dans une zone de liste déroulante.
Ne cherche pas plus loin, c'est là que ça se passe...

Regarde dans la source de cette liste déroulante. A tous les coups, la
source est ta table des communes et c'est la colonne des identifiants
qui est affichée...

En ce jour mémorable du jeudi 04/10/2007, tu as émis l'idée suivante:
La première requête (R_ChoixStation) regroupe simplement les champs de
3 tables :
SELECT T_BV.NomBV, T_Riviere.Riviere, T_Station.NumStation,
T_Station.CommuneStation
FROM (T_BV INNER JOIN T_Riviere ON T_BV.NomBV > T_Riviere.NomBVRiviere) INNER JOIN T_Station ON T_Riviere.Riviere > T_Station.RiviereStation;

A partir de celle-ci, j'exécute la fameuse requête :
SELECT R_ChoixStation.CommuneStation
FROM R_ChoixStation
GROUP BY R_ChoixStation.CommuneStation, R_ChoixStation.Riviere
HAVING (((R_ChoixStation.Riviere)=[choixriviere].[value]))
ORDER BY R_ChoixStation.CommuneStation;

L'info est affichée dans une zone de liste déroulante.

La logique de la recherche est la suivante : Riviere > Commune >
Station.
Chaque champs étant sélectionné depuis une zone de liste déroulante.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Michel_D
Bonjour,

C'est la valeur du champ [CommuneStation] de la table [T_Station]
qui est renvoyé, donc ...

"moromain" a écrit dans le message de news:
La première requête (R_ChoixStation) regroupe simplement les champs de
3 tables :
SELECT T_BV.NomBV, T_Riviere.Riviere, T_Station.NumStation,
T_Station.CommuneStation
FROM (T_BV INNER JOIN T_Riviere ON T_BV.NomBV T_Riviere.NomBVRiviere) INNER JOIN T_Station ON T_Riviere.Riviere T_Station.RiviereStation;

A partir de celle-ci, j'exécute la fameuse requête :
SELECT R_ChoixStation.CommuneStation
FROM R_ChoixStation
GROUP BY R_ChoixStation.CommuneStation, R_ChoixStation.Riviere
HAVING (((R_ChoixStation.Riviere)=[choixriviere].[value]))
ORDER BY R_ChoixStation.CommuneStation;

L'info est affichée dans une zone de liste déroulante.

La logique de la recherche est la suivante : Riviere > Commune >
Station.
Chaque champs étant sélectionné depuis une zone de liste déroulante.
Avatar
moromain
J'ai trouvé !
En fait, dans la première requête qui synthétise 3 tables, je
récupérais le champs "Commune" depuis une table liée, et non depuis la
table "communes". Dans cette 1ere requête, je vais dorénavant
rechercher la commune depuis la table "commune", et tout fonctionne à
merveille !
Merci pour les indications de recherche !
Avatar
Thierry (ze Titi)
J'ai trouvé !
En fait, dans la première requête qui synthétise 3 tables, je
récupérais le champs "Commune" depuis une table liée, et non depuis la
table "communes". Dans cette 1ere requête, je vais dorénavant
rechercher la commune depuis la table "commune", et tout fonctionne à
merveille !
Merci pour les indications de recherche !


De rien... D'autant qu'à priori, mes indications ne portaient pas
vaiment (du tout ?) sur cette piste... :o)

Bonne continuation !

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info