Bonjour,
J'ai fait une liste déroulante des indices (correspondants à des tarifs), au lieu d'avoir une seule fois un indice, je le retrouve 10 fois minimum.
Comment faire pour n'en voir en apparaitre qu'un seul?
Merci de votre aide.








Bonjour,
J'ai fait une liste déroulante des indices (correspondants à des tarifs), au lieu d'avoir une seule fois un indice, je le retrouve 10 fois minimum.
Comment faire pour n'en voir en apparaitre qu'un seul?
Merci de votre aide.
Bonjour,
Tu dois regrouper au niveau du champ Indice dans la requête source de ta liste. Donc dans la propriété Contenu de ta zone de liste, tu écris:Envoyé par choups76
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT Table.Indice FROM Table GROUP BY Table.Indice ORDER BY Table.Indice;
Bon courage et @+








J'ai essayé mais apparemment je dois mal le placer car ça me met une erreur !!![]()
ecris nous ta requete qui renseigne ta liste ca sera plus clair!
sinon la solution de Mahefasoa me semble correct.








La voilà:
SELECT Personnel.indice, Tarif.num_tarif, Personnel.num_personne
FROM Tarif INNER JOIN (Personnel INNER JOIN Total ON Personnel.num_personne = Total.num_personne_total) ON Tarif.num_tarif = Total.num_tarif_total;
Re,
Si à un enregistrement de la table Personnel correspond à plusieurs enregistrements de la table Total, au niveau des champs de liaison, il est clair que tu n'obtiennes pas une seule occurrence par indice!Envoyé par choups76
Mais il y a quelque chose qui me chifonne: pourquoi correspondre num_personne de la table Personnel à num_personne_total de la table Total?????![]()
@+
SELECT Personnel.indice, Tarif.num_tarif, Personnel.num_personne
FROM Tarif, Personnel, Total
where Personnel.num_personne = Total.num_personne_total
and Tarif.num_tarif = Total.num_tarif_total
group by Personnel.indice, Tarif.num_tarif, Personnel.num_personne
order by Personnel.indice;
à tester.
à mon avis à une personne de la table personnel doit corespondre un tarif (total) num_personne total est une clé étrangère il en a besoin pour la jointure.
je ne vois pas ce qui te chiffonne








Pour que quand je sélectionne un indice dans ma liste déroulante le tarif associé s'affiche...mais apparemment à te lire y'a une boulette quelque part![]()
Salut,
C'est ce qui me chiffonne justement! Imagines qu'à un enregistrement de la table personne il y ait plusieurs enregistrements de la table Tarif qui correspondent! Dans ce cas, il y est impossible d'obtenir une seule occurrence d'indice! C'est possible!Envoyé par mohcultiv
A moins que choups nous dise qu'à une personne il n'y a qu'un seul tarif associé.
Bref, voici un exemple: relation entre élève et notes. Si à chaque élève on fait correspondre une note, il n'y aurait qu'une seule occurrence par élève. Evident! Mais ce n'est pas le cas, à un élève peut correspondre plusieurs notes. Donc il y aura plusieurs occurrence d'un élève ... Assez élémentaire mon cher Watson!
Autre chose: il y une relation entre Personne et Total au niveau des champs num_personne et num_personne_total. Là aussi il faut expliquer. Car je vois flou. Quel est le rôle de la table Total?
En résumé: si à un enregistrement de la table du côté clé primaire peut correspondre plusieurs enregistrements de la table du côté de la clé étrangère, il est quasiment impossible (je crois) d'obtenir une seule occurrence de la table de gauche (clé primaire) si la relation est annoncée dans SQL ou si un champ de la table de droite se trouve dans la liste des champs!
Bon courage et @+








Deux voire trois personnes peuvent bénéficier du même tarif !
Mohcultiv, j'ai inséré ta requête:
Mais le problème c'est qu'il y a toujours une quantité phénoménale d'indices, par contre ce qui est bien c'est que c'est classé de 0 à 382, ce que j'aimerai c'est en avoir un de chaque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT Personnel.indice, Tarif.num_tarif, Personnel.num_personne FROM Tarif, Personnel, Total where Personnel.num_personne = Total.num_personne_total and Tarif.num_tarif = Total.num_tarif_total group by Personnel.indice, Tarif.num_tarif, Personnel.num_personne order by Personnel.indice;
Partager