Comment Lister juste la première occurence

Résolu/Fermé
jehanx - 26 oct. 2007 à 18:42
jehanx Messages postés 8 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007 - 26 oct. 2007 à 23:24
Bonjour,

ne connaissant pas le langage VB ni SQL j'aimerais réaliser quelquechose qui doit être assez simple avec un outil puissant comme Access.

Voilà j'ai réalisé une base de données de renseigements pour laquelle chaque enregistrement comprend une catégorie que j'affecte par saisie manuelle. Voulant éviter les erreurs j'aimerais lister gràce à une requête juste la première occurence du nom de chaque catégorie
afin de créer une liste déroulante du "déjà utilisé" dans mon formulaire principal.

Exemple : j'ai mes enregistrements 1,2,3,47,52,.... qui comportent la catégorie "XXXXX", les enregistrements
4,7,9,78,......qui comportent la catégorie "YYYYY", les enregistrements 5,6,10,12,80 qui comportent la catégorie "ZZZZZZ", etc
Je voudrais que ma requète me sorte en lisant ma table principale 1 seule fois --> "XXXXX", 1 seule fois --> "YYYYY"
, 1 seule fois --> "ZZZZZZ" afin d'avoir une sorte d'aide-mémoire que je puisse reprendre en liste déroulante dans mon formulaire, quitte à passer par une table créée et mise-àjour par la requète.
Et autre avantage comme sécurité de saisie : en entrant de nouveaux enregistrements il me suffirait d'un copier-coller dans le même formulaire pour saisir la catégorie quandi je n'ai pas besoin d'en créer une nouvelle

Merci par avance pour le coup de main

J'ai un ordi PowerNet avec carte mère Carte Mère MSI 915PM-ILR (MS-7033), Processeur Intel(R) Pentium(R) 4 CPU 3.00GHz
1 Giga de Ram, sous XP + SP2 , Access 2000 + Office sr1. J'utilise Firefox comme navigateur principal

Jehanx

5 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
26 oct. 2007 à 19:24
salut

Fais "SELECT DISTINCT * FROM .... "

;o)
1
jehanx Messages postés 8 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007 1
26 oct. 2007 à 23:24
Problème résolu grâce à Polux

Solution =

En mode Requête : Sélectionner la ou les tables. Cliquer sur * pour selectionner tous les champs.
Passer en mode SQL puis taper : SELECT DISTINCT champ FROM table ...
champ = le champ à extraire et table le nom de la table où se trouve le champ à extraire

Merci encore pour ses bons conseils
1
jehanx Messages postés 8 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007 1
26 oct. 2007 à 20:49
Salut,

Merci d'essayer de m'aider. Mon champ concerné s'appelle simplement "catégorie"

j'ai fait différents essais dans ma case critère --> message d'erreur : Access me demande de mettre la "sous-requête" entre paenthèses

SELECT DISTINCT FROM (catégorie) --> ça ne marche pas
SELECT ( DISTINCT FROM (catégorie) ) --> ça ne marche pas
(SELECT) DISTINCT FROM catégorie --> ça ne marche pas

et si je fais autrement --> La syntaxe n'est pas correcte

Il y a peut-être une autre façon (suis sous Access 2000 ) ?

Normalement une solution doit exister, même si je dois copier-coller quelquechose
dans la fenêtre qui vient en mode "Affichage SQL"

Merci d'avance

Jehanx
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
26 oct. 2007 à 21:02
En mode Requête : Sélection la ou les tables. Clique sur * pour selectionner tous les champs.
Passe en mode SQL puis taper : SELECT DISTINCT champ FROM table ...
champ = le champ à extraire et table le nom de la table où se trouve le champ à extraire ...
Désolé d'avoir l'air de prendre un ton de maitre d'école ...

;o)

Polux
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jehanx Messages postés 8 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007 1
26 oct. 2007 à 23:21
Bonsoir Polux,

Pas de souci pour le ton, chacun s'exprime comme il pense que c'est le mieux :o)

Cette fois c'est OK Je te remercie beaucoup.

Cordialement

Jehanx
0