Access 2007 Liste déroulante dans une requête [Résolu/Fermé]

Signaler
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
-
 k1981aiss -
Bonjour à tous.

J'espère que vous pourrez m'éclairer sur ce point. Ma base de données à pour but de stocker les coordonnées de salariés et d'afficher les formations qu'ils possèdent et quand ils doivent les repasser.

J'explique mon problème.J'ai une requête (Liste des formations par salarié) qui affiche le Nom, Prénom d'un salarié, et toutes les formations qu'il possède. Il y a 3 champs: Nom, Prénom, formation.

Le champs Nom a pour critère [Quel est son nom?]
Le champs Prénom a pour critère [Quel est son prénom?]

J'aimerais à la place de celà (c'est à dire à chaque fois taper le nom exact du salarié), avoir une liste déroulante qui affiche tous les Noms et Prénoms des salariés pour pouvoir ensuite en sélectionner un et voir ses formations.

J'ai chercher les explications sur ce forum et sur d'autres. En vain ...
J'espère que quelqu'un pourra m'aider. Merci à vous, je suis tout ouïe.

8 réponses

Messages postés
1717
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020
508
La réponse est: Impossible dans une requête. Désolée...

Par contre, ce que tu peux faire:
Tu crées un formulaire indépendant (que j'appelle Choix) dans le quel tu mets deux zones de liste. La première est alimentée par les noms de ta table (ChoixNom) et la deuxième par les prénoms (ChoixPrénom).
Et ta requête aura des critères du style Forms!Choix!ChoixNom
Pour faire un critère de ce genre, tu peux faire un clic droit dans la zone critères et choisir créer. Ca t'ouvre un petit assistant pas trop compliqué à comprendre... Ou tu tapes manuellement.

Si tu veux faire ça très bien:
Tu modifies la requête sur laquelle est basée la première liste en lui mettant un regroupement pour que "Dupont" n'apparaisse pas 3 fois si tu as 3 Dupont
Tu modifies la deuxième en mettant un critère pour le nom (Forms!Choix!ChoixNom) pour que tous les prénoms n'apparaissent pas, seulement ceux de tes trois Dupont
Et, cerise sur le gâteau, tu mets un p'tit coup de VB, pour que la deuxièle liste s'actualise chaque fosi que tu choisis un autre nom: Propriété après MAJ, un p'tit clic sur le bouton à trois points, générateur de code... Juste un Me!ChoixPrénom.Requery

Et bien sûr ensuite un bouton qui lance ta requête!
6
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57006 internautes nous ont dit merci ce mois-ci

Messages postés
4
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008
>
Messages postés
1717
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020

alors là pour le coup je ne comprends plus trop....

Imaginons que j'ai une table :
-zones (champs= zone ; commercial)

Je fais une requete zone avec uniquement le champ zone, je fais un regroupement dessus.

Je fais un formulaire avec
une liste déroulante basée sur la requete zone, bien sur le regroupement marche

je fais une deuxieme requete commercial :
il y a deux champs, le champ zone et le champ commercial

Sur mon formulaire je fais une deuxieme liste déoulante basée sur ma requete commercial

Mes listes permettent de sélectionner uniquement le commercial de cette zone. Cependant, si je ne saisis rien comme valeur dans cette liste parce que je ne veux pas selectionner ce critere au moment ou j'effectue ma recherche, comment obtenir un regroupement pour le champ commercial?

Merci...
Messages postés
1717
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020
508 >
Messages postés
4
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008

Soit c'est toi soit c'est moi, mais il y a mésentente, là. Je ne comprends plus rien du tout.

Quel est le rapport entre le choix ou non d'une valeur dans les listes et le regroupement?

Et surtout, qu'appelles tu regroupement?

A QUEL ENDROIT ne peux tu pas faire de regroupement si tu n'as pas choisi de valeur dans "cette liste" (Mais LAQUELLE? Tu viens de m'en citer deux...)
Messages postés
4
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008
>
Messages postés
1717
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020

j'ai un peu de mal avec access j'avoue :

je simplifie un peu mes données :

3 tables :
zone (champs zone ; commercial)
client (nom ; dpt ; site internet ; zone (pour lier en 1-infini avec la table zone) )
projet (numero ; chef ; montant ; date commande ; nom (pour lier en 1-infini avec la table client) )



Je veux un formulaire "criteres" ou je peux selectionner par des listes déroulantes :
liste 1 : zone
liste 2 : commercial (je ne veux pas qu'un commercial apparaisse pls fois dans la liste commercial)
liste nom : choix du nom (je ne veux pas qu'un nom apparaisse pls fois dans la liste nom)
liste dpt : choix du dpt (je ne veux pas qu'un dpt apparaisse pls fois dans la liste dpt)
liste numero : choix du numero (je ne veux pas qu'un numero apparaisse pls fois dans la liste numero)
liste chef : choix du chef (je ne veux pas qu'un numero apparaisse pls fois dans la liste chef)

Bien sur je veux que mes listes soient en "entonoir" c'est à dire que quand je selectionne une zone, toutes les listes se mettent à jour pour n'afficher que les enregistrement pouvant concorder avec cette zone.

Bien sur egalement je veux pouvoir ne pas forcement selectionner une réponse dans chaque liste

Je veux que mes choix je puisse les faire dans n'importe quel ordre (mettons une fois je vais selectionner d'abord mon critere zone puis apres un critere dpt ; et un autre jour, je vais d'abord rentrer dpt, sans penser que la seconde qui suit je veux aussi selectionner une zone, ce que je fais en deuxieme dans ce cas la (et normalement si tout cela est possible, en choississant un departement, quand je retournerai sur zone, ca ne m'afficherait qu'un seul choix...)

Par la suite, je veux cliquer sur un bouton sur ce formulaires criteres, afin qu'il m'ouvre un autre formulaire "resultats", qui lui m'afficherait toutes les valeurs de toutes les tables(soient les champs zone, commercial, nom, département, site internet, numero, chef, montant, date de commande) correspondant aux criteres de recherche.

Enfin sur ce formulaire "resultats", je veux pouvoir ajouter un nouvel enregistrement (nouvelle zone, nouveau commercial, nouveau nom, nouveau departement, nouveau site internet, nouveau numéro, nouveau chef, nouveau montant, nouvelle date de commande).

Voila, si jamais tu avais le temps de tout résumer de A à Z, afin que je puisse vraiment comprendre l'ensemble de la construction de cette base de données, ce serait cool, parce qu'à force je m'y perds....

Je pense en plus que ca résumerait pas mal l'ensemble des questions posées sur ce topic et que ca aiderait bon nombre de gens...

En tout cas merci beaucoup à toi pour toutes tes aides, ta rapidité et ta disponibilité tu nous aide bien!!

G-RoM
Messages postés
1717
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020
508 >
Messages postés
4
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008

J'ai bien compris ta question. Mais là, il faut que tu me postes tes tables pour que je puisse bâtir le formulaire et te le poster en retour, c'est trop complexe à expliquer comme ça - ou bien j'ai la flemme.

(cjoint.com)

Eventuellement colle les donnés ou seulement une partie dans Excel, je me débrouillerai...
salut Mr
c la première fois que je me trouve dans un forum
mon probleme semble Grom34 j'aime bien que me t'aide Mr
Messages postés
1717
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020
508
Salut CaPit

Bien sûr, les deux listes sont basées sur deux requêtes différentes. Une pour le nom, une pour le prénom...
En fait ça serait plus rationnel de faire un seul champ dans lequel tu concaténerais le nom et le prénom, mais je pense qu'il vaut mieux commencer par du facile.

Un regroupement, ça s'obtient en cliquant sur le bouton qui ressemble à celui de la somme automatique d'Excel bien qu'il n'ait pas grand chose à voir. Une ligne "opération" apparaît, et contient par défaut un regroupement, qui permet de ne faire apparaître chaque donnée qu'une fois.

Oui, la requête sera lancée à partir du formulaire, et l'état (dont tu n'avais pas encore parlé...) sera basé sur cette même requête! Tu peux aussi lancer l'état à partir du formulaire, c'est ce que tu as de mieux à faire. (Choisi le Bouton de Commande de la barre d'outils et laisse toi guider, tu verras, c'est facile)
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
50
Je m'explique.

J'ai un menu contenant plusieurs boutons, comme par exemple:

MENU GENERAL

> Bouton Renseigner un prénom (Lance un formulaire)

> Bouton Rensigner des coordonnées (Lance un formulaire)

> Bouton Affichage d'état (Lance sous menus)


SOUS MENUS (affiche d'état)

> Bouton Affiche liste des noms

> Bouton Affiche coordonnées d'une personne

>>>> Bouton RETOUR au menu général<<<<

En espérant que vous puissiez m'aider ;)
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
50
C'est bon, j'ai trouvé la solution tout seul.

Pour faire un bontoun retour (au menu général) dans un sous-menu, il fallait juste (à l'aide l'assistant de gestionnaire de menu général), choisir le menu général. C'est tout bête.

Pour ce qui est de la liste c'est bon, et le menu aussi. Ma base de donnée est donc finie et parfaitement fonctionnelle.
Merci pour l'aide ;)
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
50
Tout d'abord merci à toi LatelyGeek.

Par contre je suis exposé à un problème.
La 1ere partie du résonnement qui consiste à creer un formulaire indépendant, là dessus, aucun soucis.
Par contre la deuxième partie "Si tu veux faire ça très bien: ..." je crois que je n'ai pas tout compris. Ou du moins les premières lignes.
Du style, les 2 listes sont basées sur deux requêtes différentes? Qu'entend tu par regroupement?

La requête sera donc toujours lancée à partir d'un formulaire? Du coup pour l'état correspondant que faire?

Désolé pour toutes ces questions, mais elles sont nécessaires pour ma base de donnée.

Merci encore en tout cas ;)
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
50
Merci pour toutes ses réponses et leur clareté. Ce point n'est pas très bien expliqué sur internet.
Grâce à celà j'ai réussi à faire toutes mes listes intégrées dans mon menu général. Ca fonctionne parfaitement.

En parlant de menu général, il me reste une question qui peut semblée simple mais qui a son importance.
Dans mon menu général (qui est un formulaire géré par l'option Gestionnaire de Menu Général), j'ai plusieurs éléments (boutons) qui servent à afficher des formulaires ou états, mais il permet aussi d'afficher des sous-menu.
La question est, "peut-on créer un bouton retour pour un sous-menu, si oui, comment faire?"

Merci encore pour l'aide que vous m'apportez.
Messages postés
1717
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020
508
Qu'est ce que tu entends par "bouton retour pour un sous-menu"???
Messages postés
9
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
26 mai 2008
4
bonjour
voila g un ptit souci
g une base de donnée sur access
j'ai une table département, une table commune, et une table theme(repartition des bibliotheques,et autres établissements par département)
je voudrai faire une requête avec une liste déroulante
c'est a dire qu'on pourrai sélectionner le département via cette liste
et il faudrait que ma liste thème soit mise a jour lors de la sélection
c'est a dire que si je choisi tel département ,il ne reste que les établissement des ce departement
et ensuite une autre liste déroulante pour choisir le thème
je c pas si g été très clair
jsuis pas très doué avec access
merci vraiment si quelqun pouvais m'aider car c super important!!!!