liste déroulante

Le
AL1
Bonjour, j'utilise ACCESS depuis quelques mois (je ne connais pas le sql)
etj'ai un petit souci je désire faire un requête selective c'est a dire que
avant d'afficher le résultat j'ai besoin de selectionner un critère (exemple
dans une liste de contacts je recherche mes amis d'enfance mais habitatnts
Paris), je désirerais donc qu' au lancement de la requête une liste
déroulante avec les villes apparaisse.J'insiste sur le fait que j'aimerais
une liste déroulante en effet, j'ai réussi a poser le critère "ville" en
mettant le champs ville dans la reqête et en mettant "[ville]![ville]" dans
critère et celà fonctionne mais il faut rentrer le nom de la ville exact et
sans faute c'est pourquoi j'aimerais une liste.
ps: j'utiklise aisément les tables et les requêtes mais ne me ser pas de
formulaire.
Merci d'avance pour vos réponses.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tisane
Le #6309711
Bonjour "AL1",

Bonjour, j'utilise ACCESS depuis quelques mois (je ne connais pas le sql)
etj'ai un petit souci je désire faire un requête selective c'est a dire
que avant d'afficher le résultat j'ai besoin de selectionner un critère
(exemple dans une liste de contacts je recherche mes amis d'enfance mais
habitatnts Paris), je désirerais donc qu' au lancement de la requête une
liste déroulante avec les villes apparaisse.J'insiste sur le fait que
j'aimerais une liste déroulante en effet, j'ai réussi a poser le critère
"ville" en mettant le champs ville dans la reqête et en mettant
"[ville]![ville]" dans critère et celà fonctionne mais il faut rentrer le
nom de la ville exact et sans faute c'est pourquoi j'aimerais une liste.
ps: j'utiklise aisément les tables et les requêtes mais ne me ser pas de
formulaire.


Tu n'as pas le choix. Pour afficher une liste déroulante qui filtrera les
enregistrements sur la ville sélectionnée, il te faut passer par un
formulaire.
Puisque tu débutes avec Access, retiens qu'une base de données ne devrait
pas être utilisée directement par les tables, ni même par les requêtes.
Tout devrait se faire via des formulaires. Dans ton exemple, ce n'est pas si
compliqué :
- place-toi sur la table des contacts
- menu Insertion | Formulaire instantané
- passe en mode Création, puis menu Affichage | En-tête/pied de formulaire
- crée ta liste de recherche à l'aide des assistants :
- clique sur l'outil "Zone de liste déroulante"
- choisis la 3e option "Rechercher un enregistrement dans mon formulaire..."
- laisse-toi guider.

PS : dans ta requête, je ne sais pas pourquoi tu as mis "[ville]![ville]" en
critère.
Tu aurais dû taper quelque chose comme [Veuillez saisir la ville SVP]
Les 2 paires de crochets ne sont pas utiles. Mais cela ne résoud pas ton
problème de liste ;-)

--
Tisane

AL1
Le #6309651
Tout d'abord, merci beaucoup tisane de t'intéresser à mon problème.J'ai fais
ce que tu m'as dis enfin à peu prés car je n'ai pas de menu puisque je
travaille sur Access 2007 et celà fonctionne à moitié, en effet je parviens
à créer ma liste déroulante qui est en fait issue d'une requête mais si je
selectionne une ville comme Paris par exemple les autres villes sont
toujours présentes c'est comme si il n'y avait pas de lien entre la liste
déroulante et les champs du formulaire.
Saurais tu ou je pourrais trouver pour me former sur les formulaires ?

"Tisane" 46c58b9b$0$5067$
Bonjour "AL1",

Bonjour, j'utilise ACCESS depuis quelques mois (je ne connais pas le sql)
etj'ai un petit souci je désire faire un requête selective c'est a dire
que avant d'afficher le résultat j'ai besoin de selectionner un critère
(exemple dans une liste de contacts je recherche mes amis d'enfance mais
habitatnts Paris), je désirerais donc qu' au lancement de la requête une
liste déroulante avec les villes apparaisse.J'insiste sur le fait que
j'aimerais une liste déroulante en effet, j'ai réussi a poser le critère
"ville" en mettant le champs ville dans la reqête et en mettant
"[ville]![ville]" dans critère et celà fonctionne mais il faut rentrer le
nom de la ville exact et sans faute c'est pourquoi j'aimerais une liste.
ps: j'utiklise aisément les tables et les requêtes mais ne me ser pas de
formulaire.


Tu n'as pas le choix. Pour afficher une liste déroulante qui filtrera les
enregistrements sur la ville sélectionnée, il te faut passer par un
formulaire.
Puisque tu débutes avec Access, retiens qu'une base de données ne devrait
pas être utilisée directement par les tables, ni même par les requêtes.
Tout devrait se faire via des formulaires. Dans ton exemple, ce n'est pas
si compliqué :
- place-toi sur la table des contacts
- menu Insertion | Formulaire instantané
- passe en mode Création, puis menu Affichage | En-tête/pied de formulaire
- crée ta liste de recherche à l'aide des assistants :
- clique sur l'outil "Zone de liste déroulante"
- choisis la 3e option "Rechercher un enregistrement dans mon
formulaire..."
- laisse-toi guider.

PS : dans ta requête, je ne sais pas pourquoi tu as mis "[ville]![ville]"
en critère.
Tu aurais dû taper quelque chose comme [Veuillez saisir la ville SVP]
Les 2 paires de crochets ne sont pas utiles. Mais cela ne résoud pas ton
problème de liste ;-)

--
Tisane



Tisane
Le #6309631

Tout d'abord, merci beaucoup tisane de t'intéresser à mon problème.J'ai
fais ce que tu m'as dis enfin à peu prés car je n'ai pas de menu puisque
je travaille sur Access 2007 et celà fonctionne à moitié, en effet je
parviens à créer ma liste déroulante qui est en fait issue d'une requête
mais si je selectionne une ville comme Paris par exemple les autres villes
sont toujours présentes c'est comme si il n'y avait pas de lien entre la
liste déroulante et les champs du formulaire.
Saurais tu ou je pourrais trouver pour me former sur les formulaires ?


Pour la version, il devient indispensable de préciser systématiquement celle
que l'on utilise, surtout quand il s'agit de la v2007 (ou de la v97 ;-).
"Par défaut", ici, on répond généralement pour la v2003, version la plus
répandue.
En plus, les assistants de la v2007 créent... des macros :-(

Essaie plutôt ceci, sur la propriété "Après mise à jour" de ta liste que tu
auras nommée par exemple Lst_Villes :
Private Sub Lst_Villes_AfterUpdate()
On Error Resume Next
If IsNull(Me![Lst_Villes]) Then Exit Sub
Me.Filter = "[Ville] ='" & Me![Lst_Villes] & "'"
Me.FilterOn = True
End Sub

Pour la formation sur les formulaires, je n'ai rien en tête, mais n'hésite
pas à fouiller les sites indiqués ici :
http://www.mpfa.info/articles.php?lng=fr&pg

--
Tisane


Bonjour "AL1",

Bonjour, j'utilise ACCESS depuis quelques mois (je ne connais pas le
sql) etj'ai un petit souci je désire faire un requête selective c'est a
dire que avant d'afficher le résultat j'ai besoin de selectionner un
critère (exemple dans une liste de contacts je recherche mes amis
d'enfance mais habitatnts Paris), je désirerais donc qu' au lancement de
la requête une liste déroulante avec les villes apparaisse.J'insiste sur
le fait que j'aimerais une liste déroulante en effet, j'ai réussi a
poser le critère "ville" en mettant le champs ville dans la reqête et en
mettant "[ville]![ville]" dans critère et celà fonctionne mais il faut
rentrer le nom de la ville exact et sans faute c'est pourquoi j'aimerais
une liste.
ps: j'utiklise aisément les tables et les requêtes mais ne me ser pas de
formulaire.


Tu n'as pas le choix. Pour afficher une liste déroulante qui filtrera les
enregistrements sur la ville sélectionnée, il te faut passer par un
formulaire.
Puisque tu débutes avec Access, retiens qu'une base de données ne devrait
pas être utilisée directement par les tables, ni même par les requêtes.
Tout devrait se faire via des formulaires. Dans ton exemple, ce n'est pas
si compliqué :
- place-toi sur la table des contacts
- menu Insertion | Formulaire instantané
- passe en mode Création, puis menu Affichage | En-tête/pied de
formulaire
- crée ta liste de recherche à l'aide des assistants :
- clique sur l'outil "Zone de liste déroulante"
- choisis la 3e option "Rechercher un enregistrement dans mon
formulaire..."
- laisse-toi guider.

PS : dans ta requête, je ne sais pas pourquoi tu as mis "[ville]![ville]"
en critère.
Tu aurais dû taper quelque chose comme [Veuillez saisir la ville SVP]
Les 2 paires de crochets ne sont pas utiles. Mais cela ne résoud pas ton
problème de liste ;-)

--
Tisane





AL1
Le #6309611
Désolé mais là je ne comprends plus du tout, snif.
"Tisane" 46c5b335$0$25913$

Tout d'abord, merci beaucoup tisane de t'intéresser à mon problème.J'ai
fais ce que tu m'as dis enfin à peu prés car je n'ai pas de menu puisque
je travaille sur Access 2007 et celà fonctionne à moitié, en effet je
parviens à créer ma liste déroulante qui est en fait issue d'une requête
mais si je selectionne une ville comme Paris par exemple les autres
villes sont toujours présentes c'est comme si il n'y avait pas de lien
entre la liste déroulante et les champs du formulaire.
Saurais tu ou je pourrais trouver pour me former sur les formulaires ?


Pour la version, il devient indispensable de préciser systématiquement
celle que l'on utilise, surtout quand il s'agit de la v2007 (ou de la v97
;-).
"Par défaut", ici, on répond généralement pour la v2003, version la plus
répandue.
En plus, les assistants de la v2007 créent... des macros :-(

Essaie plutôt ceci, sur la propriété "Après mise à jour" de ta liste que
tu auras nommée par exemple Lst_Villes :
Private Sub Lst_Villes_AfterUpdate()
On Error Resume Next
If IsNull(Me![Lst_Villes]) Then Exit Sub
Me.Filter = "[Ville] ='" & Me![Lst_Villes] & "'"
Me.FilterOn = True
End Sub

Pour la formation sur les formulaires, je n'ai rien en tête, mais n'hésite
pas à fouiller les sites indiqués ici :
http://www.mpfa.info/articles.php?lng=fr&pg

--
Tisane


Bonjour "AL1",

Bonjour, j'utilise ACCESS depuis quelques mois (je ne connais pas le
sql) etj'ai un petit souci je désire faire un requête selective c'est a
dire que avant d'afficher le résultat j'ai besoin de selectionner un
critère (exemple dans une liste de contacts je recherche mes amis
d'enfance mais habitatnts Paris), je désirerais donc qu' au lancement
de la requête une liste déroulante avec les villes apparaisse.J'insiste
sur le fait que j'aimerais une liste déroulante en effet, j'ai réussi a
poser le critère "ville" en mettant le champs ville dans la reqête et
en mettant "[ville]![ville]" dans critère et celà fonctionne mais il
faut rentrer le nom de la ville exact et sans faute c'est pourquoi
j'aimerais une liste.
ps: j'utiklise aisément les tables et les requêtes mais ne me ser pas
de formulaire.


Tu n'as pas le choix. Pour afficher une liste déroulante qui filtrera
les enregistrements sur la ville sélectionnée, il te faut passer par un
formulaire.
Puisque tu débutes avec Access, retiens qu'une base de données ne
devrait pas être utilisée directement par les tables, ni même par les
requêtes.
Tout devrait se faire via des formulaires. Dans ton exemple, ce n'est
pas si compliqué :
- place-toi sur la table des contacts
- menu Insertion | Formulaire instantané
- passe en mode Création, puis menu Affichage | En-tête/pied de
formulaire
- crée ta liste de recherche à l'aide des assistants :
- clique sur l'outil "Zone de liste déroulante"
- choisis la 3e option "Rechercher un enregistrement dans mon
formulaire..."
- laisse-toi guider.

PS : dans ta requête, je ne sais pas pourquoi tu as mis
"[ville]![ville]" en critère.
Tu aurais dû taper quelque chose comme [Veuillez saisir la ville SVP]
Les 2 paires de crochets ne sont pas utiles. Mais cela ne résoud pas ton
problème de liste ;-)

--
Tisane








Tisane
Le #6309591

Désolé mais là je ne comprends plus du tout, snif.


Reprenons dans l'ordre. Voilà ce que j'ai compris :
- tu as une table avec des contacts et leur ville
- tu as maintenant créé un formulaire sur cette table
- tu as placé une liste déroulante en en-tête de formulaire
- celle liste est construite à partir d'une requête
- cette requête, je suppose, contient uniquement les villes mais regroupées
afin de ne pas s'afficher plusieurs fois
Jusque là ça va ? Cela correspond-il à ce que tu as fait ?
Si oui, continue la lecture. Sinon, reviens...

Ta liste ne fonctionne pas parce qu'il faut lui associer un bout de
programme (que les assistants des versions antérieures ne faisaient pas trop
mal) pour lui dire de n'afficher que les contacts qui habitent la ville
sélectionnée.
Pour greffer le code que je t'ai indiqué sur ta liste :
- en mode création du formulaire, clic droit sur ta liste | Propriétés (si
elles ne sont pas affichées)
- clique sur l'onglet [Autres] et dans la propriété "Nom", tape Lst_Villes
pour donner un nom plus parlant que "ModifiableX"
- clique sur l'onglet [Evénement] et double-clique dans la propriété "Après
MAJ", puis sur les [...] à droite de "Procédure événementielle" qui va
s'afficher
- colle le code que je t'ai donné en l'adaptant peut-être un peu (je ne sais
pas si ton champ s'appelle Ville par exemple).
- referme la fenêtre de l'éditeur Visual Basic et teste ton formulaire.

--
Tisane



Tout d'abord, merci beaucoup tisane de t'intéresser à mon problème.J'ai
fais ce que tu m'as dis enfin à peu prés car je n'ai pas de menu puisque
je travaille sur Access 2007 et celà fonctionne à moitié, en effet je
parviens à créer ma liste déroulante qui est en fait issue d'une requête
mais si je selectionne une ville comme Paris par exemple les autres
villes sont toujours présentes c'est comme si il n'y avait pas de lien
entre la liste déroulante et les champs du formulaire.
Saurais tu ou je pourrais trouver pour me former sur les formulaires ?


Pour la version, il devient indispensable de préciser systématiquement
celle que l'on utilise, surtout quand il s'agit de la v2007 (ou de la v97
;-).
"Par défaut", ici, on répond généralement pour la v2003, version la plus
répandue.
En plus, les assistants de la v2007 créent... des macros :-(

Essaie plutôt ceci, sur la propriété "Après mise à jour" de ta liste que
tu auras nommée par exemple Lst_Villes :
Private Sub Lst_Villes_AfterUpdate()
On Error Resume Next
If IsNull(Me![Lst_Villes]) Then Exit Sub
Me.Filter = "[Ville] ='" & Me![Lst_Villes] & "'"
Me.FilterOn = True
End Sub

Pour la formation sur les formulaires, je n'ai rien en tête, mais
n'hésite pas à fouiller les sites indiqués ici :
http://www.mpfa.info/articles.php?lng=fr&pg

--
Tisane
[...]





AL1
Le #6309581
Vraiment quelle patience, merci beaucoup de tenter de m'aider. En fait j'ai
donné un exemple de table de contacts pour simplifier mais ce n'est pas celà
du tout, je m'explique:
J'ai crée une base de donnée pour faire des stats sur les quintés, cette
base comprend pleins de tables et encore bien plus de requêtes qui me
servent à savoir plein de choses. J'ai entre autre une requête nomée ""score
corde arrivée ds les 3 " qui comptabilise le score du N° de corde arrivé
dans les 3 premier et je désire filtrer ce score par hippodrome ( c'est
depuis cette requête que j'ai fais mon formulaire) en voici un petit bout de
cette requête:
score corde arrivée ds les 3 par lieu Corde Score Sur Lieu
0 17 129 Vincennes
2 16 51 Longchamp
7 13 51 Longchamp
4 11 51 Longchamp
6 10 51 Longchamp
10 10 28 Deauville
3 9 51 Longchamp
14 9 51 Longchamp
13 9 51 Longchamp
9 9 51 Longchamp
10 9 51 Longchamp
8 8 51 Longchamp
9 8 28 Saint Cloud
16 8 51 Longchamp
1 8 51 Longchamp

. Dans ma base j'ai crée une table "Lieu" ou je rentre tous les noms de
villes ou il y a des courses et d'ou je tire ma liste déroulante , en voici
un petit bout:
Lieu Lieu
Agen
Amiens
Angers

J'ai donc collé le code :
Private Sub Modifiable11_AfterUpdate()

On Error Resume Next
If IsNull(Me![Lieu]) Then Exit Sub
Me.Filter = "[Lieu] ='" & Me![Lieu] & "'"
Me.FilterOn = True
End Sub
dans la procédure évenementielle mais en faisant des que je selectionne
n'importe quel ville dans la liste, il ne me reste plus qu'un seul
enregistrement (enr 1 sur 1) c'est celui ci 0 17 129 Vincennes
???.

"Tisane" 46c5bb02$0$5066$

Désolé mais là je ne comprends plus du tout, snif.


Reprenons dans l'ordre. Voilà ce que j'ai compris :
- tu as une table avec des contacts et leur ville
- tu as maintenant créé un formulaire sur cette table
- tu as placé une liste déroulante en en-tête de formulaire
- celle liste est construite à partir d'une requête
- cette requête, je suppose, contient uniquement les villes mais
regroupées afin de ne pas s'afficher plusieurs fois
Jusque là ça va ? Cela correspond-il à ce que tu as fait ?
Si oui, continue la lecture. Sinon, reviens...

Ta liste ne fonctionne pas parce qu'il faut lui associer un bout de
programme (que les assistants des versions antérieures ne faisaient pas
trop mal) pour lui dire de n'afficher que les contacts qui habitent la
ville sélectionnée.
Pour greffer le code que je t'ai indiqué sur ta liste :
- en mode création du formulaire, clic droit sur ta liste | Propriétés (si
elles ne sont pas affichées)
- clique sur l'onglet [Autres] et dans la propriété "Nom", tape Lst_Villes
pour donner un nom plus parlant que "ModifiableX"
- clique sur l'onglet [Evénement] et double-clique dans la propriété
"Après MAJ", puis sur les [...] à droite de "Procédure événementielle" qui
va s'afficher
- colle le code que je t'ai donné en l'adaptant peut-être un peu (je ne
sais pas si ton champ s'appelle Ville par exemple).
- referme la fenêtre de l'éditeur Visual Basic et teste ton formulaire.

--
Tisane



Tout d'abord, merci beaucoup tisane de t'intéresser à mon problème.J'ai
fais ce que tu m'as dis enfin à peu prés car je n'ai pas de menu
puisque je travaille sur Access 2007 et celà fonctionne à moitié, en
effet je parviens à créer ma liste déroulante qui est en fait issue
d'une requête mais si je selectionne une ville comme Paris par exemple
les autres villes sont toujours présentes c'est comme si il n'y avait
pas de lien entre la liste déroulante et les champs du formulaire.
Saurais tu ou je pourrais trouver pour me former sur les formulaires ?


Pour la version, il devient indispensable de préciser systématiquement
celle que l'on utilise, surtout quand il s'agit de la v2007 (ou de la
v97 ;-).
"Par défaut", ici, on répond généralement pour la v2003, version la plus
répandue.
En plus, les assistants de la v2007 créent... des macros :-(

Essaie plutôt ceci, sur la propriété "Après mise à jour" de ta liste que
tu auras nommée par exemple Lst_Villes :
Private Sub Lst_Villes_AfterUpdate()
On Error Resume Next
If IsNull(Me![Lst_Villes]) Then Exit Sub
Me.Filter = "[Ville] ='" & Me![Lst_Villes] & "'"
Me.FilterOn = True
End Sub

Pour la formation sur les formulaires, je n'ai rien en tête, mais
n'hésite pas à fouiller les sites indiqués ici :
http://www.mpfa.info/articles.php?lng=fr&pg

--
Tisane
[...]







Publicité
Poster une réponse
Anonyme