Bonjour,
J'essaye dans un formulaire d'avoir des listes déroulantes qui sont filtrées entre elles, mais tout dépend de celle qu'on met à jour.
Au départ, tout les éléments de chaque listes sont disponibles, mais si on met la liste commune à jour (par exemple) la liste lieu-dit est filtrée...
Ca ne fonctionne pas avec des requêtes classiques voir http://www.developpez.net/forums/vie...r=asc&start=15
Donc j'ai essayé le truc de la FAQ qui est à cette adresse :
Est-il possible de créer une requête paramétrée dont la valeur du paramètre proviendrait d'une variable ?
http://access.developpez.com/faq/?page=SQL#ReqParamVar
ça ne marche pas non plus, sur plusieurs point :
Mes requêtes sont des requêtes selection, appliqué à des liste déroulantes, par exemple :
Num_Lieu_Dit---Lieu_Dit---Code_Postal
Le critère de filtre est sur Code_Postal, mais au démarrage du formulaire, il faudrait qu'il soit égal à "*", puis lorsqu'on met à jour la liste ldc_Code_Postal, le critère est la valeur de ldc_Code_Postal.
Tel que :
Requête :
Code formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Num_Lieu_Dit, Lieu_Dit, Code_Postal From tbl_Lieu_Dit WHERE tbl_Lieu_Dit.Code_Postal = [Code_Postal];
Alors plussieurs questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Private sub form_open() Set qdf= CurrentDb.QueryDefs("qry_Lieu_Dit") With qdf .Parameters("Code_Postal") = * .Execute End With End Sub ----------------------------------------------------------------------------------- Private Sub ldc_Code_Postal_AfterUpdate () Set qdf= CurrentDb.QueryDefs("qry_Lieu_Dit") With qdf .Parameters("Code_Postal") = [Forms]![Formulaire1]![ldc_Code_Postal] .Execute End With Me.ldc_Lieu_Dit.RowSource = qdf 'ne marche pas Me.ldc_Lieu_Dit = qdf 'ne marche pas Me.refresh Me.ldc_Lieu_Dit.Requery End sub
1. Comme ce sont des requête selection, lene fonctionne pas, il y a-t-il autre chose à mettre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part .Execute
2. Comment faire pour que la requête de ma liste de choix prenne en compte le nouveau critère (pour ne pas écrire "ne marche pas") ?
3. La condition "*" ou * ne marche pas non plus, quelle condition mettre pour qu'il selectionne tout les enregistrements...?
Voilà, voilà...
Pas simple à comprendre j'ai écrit dans le speed, j'ai essayé tout ça hier, mais le forum ne marchait pas, de rage j'ai effacé tous les changements.... Ce n'est pas les codes réels, je viens de les taper de mémoires....
Si jamais vous y comprennez quelque chose et que vous avez une solution, merci...







.... Ce n'est pas les codes réels, je viens de les taper de mémoires....
Répondre avec citation






Partager