|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : avril 2011 Messages : 48 ![]() |
Bonjour,
Je rencontre un problème et bien qu'épluchant la toile, je ne trouve de solution... Voilà le soucis: Dans un formulaire de saisie d'informations pour des zones géographiques, j'ai placé un certain nombre de listes déroulantes pour les choix. Ainsi, une liste déroulante "Départements", une fois mise à jour, fait un requery de la liste "Communes" afin que seules les communes du département sélectionné n'apparaissent dans la liste. Jusque là, pas de problème... Cependant, devant saisir de nombreuses zones géographiques dans l'utilisation de l'application que je développe, il est nécessaire de mettre ce formulaire sous forme de formulaires continus. Pour le premier enregistrement, pas de problème, tout va bien. Mais pour la deuxième ligne, si je sélectionne un département différent de celui de la première ligne, la valeur de la commune disparait dans la première ligne... Une solution pour que la valeur "Commune" reste? Il semblerait que mon requery mette à jour tous les champs du sous-formulaire et non juste celui de la ligne active. Malgré la disparition "visuelle" de ma valeur "Commune", celle-ci se retrouve bien dans ma table... Donc tout cela est juste une question d'apparence, mais ça jour beaucoup Merci pour votre aide |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
en effet, quand tu filtres une liste déroulante, les valeurs déjà saisies n'apparaissent si elles ne font pas partie de la sélection (euh je viens de vérifier: seulement dans le cas où la colonne affichée n'est pas la colonne stockée) une solution est d'avoir les listes déroulantes dans l'entête ou dans le pied et d'avoir des zones simples dans le détail avec un transfert à chaque sortie de case une autre solution est d'avoir la zdl en double sur la même source: une filtrée, l'autre non (voir une qui affiche le code insee et qui est filtrée, l'autre qui affiche le nom et qui n'est pas filtrée) ou de se satisfaire de ce désagrément PS quel identifiant as tu choisi de stocker pour la commune? le nom n'est pas unique le code postal non plus, seul le code insee l'est
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : avril 2011 Messages : 48 ![]() |
Salut,
Désolé pour la réponse tardive, mais je suis en débuguage de mon appli et j'ai pas mal de trucs à faire dessus... Maintenant ce problème reste un des principaux... J'ai bien pris le code INSEE comme clé primaire de ma table "Communes", ce qui permet un identifiant unique. Il y a certaines choses dans ton post que je n'ai pas comprises... Pour que ma sélection initiale de commune reste, il faudrait que j'affiche le code INSEE stocké seulement? Mon formulaire de saisie a comme source une table temporaire où est enregistrée l'INSEE. Ma zone de liste, permettant la sélection de l'INSEE, a comme source une table "Communes" où INSEE et "Nom_commune" sont sélectionnés, filtrée par département (Having INSEE like "département_sélectionné"+"*"). Pour avoir les résultats qui restent, je dois faire un lien entre INSEE de ma table temporaire et de ma table communes? Je n'ai pas compris le principe de liste en double... Merci! |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : avril 2011 Messages : 48 ![]() |
J'ai trouvé!
C'est en mode bidouillage, mais ça marche! Donc voilà, je garde comme source du sous-formulaire ma table temporaire. Cependant, je fais des liaisons entre mes INSEE de la table temporaire (il y en a jusqu'à 3) et ma Table des Communes (3 fois, en affichant 3 fois la table dans la création de requêtes, et pas 3 liaisons sur une seule table), et ce en Left Join bien sûr (évite les erreurs au cas où il n'y ait pas de Comme n°2 ou 3. Ensuite, je garde ma liste "Département" et ma liste "Commune" avec le même système de filtrage: Sélection d'un département => Requery de ma liste "Commune" avec where INSEE="Departement"+"*". Cependant, je réduis ma liste commune à sa simple flèche (elle existe toujours, mais seule la flèche de sélection est visible, pas le résultat sélectionné), et à la place de la zone de texte de la liste, je met une zone de texte normale, ayant pour source le nom commune correspondant de ma requête source de sous-formulaire. La sélection de la commune dans ma liste met à jour ce champ, qui ne bougera plus. Voilou, petite astuce de bout de ficelle, mais comme de nombreux gens rencontrent ce problème, j'ai fait part de mes découvertes. Merci! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com