Formulaire Access: 2 petites questions

Fermé
Nicow - 19 mars 2008 à 15:34
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 - 28 mars 2008 à 21:59
Bonjour,


J'ai créé une base de données contenant déjà plusieurs formulaires et tout fonctionne à merveille. Mais il y a deux petites choses sur lesquelles je cale, parce que je débute et que je ne connais rien en VBA.

Ma première question: j'ai une table avec les coordonnées des clients, et une autre contenant la liste des codes postaux belges et les villes correspondantes. Quand, dans le formulaire, j'ouvre la liste déroulante, la liste des codes postaux (clé) et des villes apparaît, il suffit de cliquer sur la bonne entrée de la liste ou d'entrer le code postal. J'ai un deuxième champ, "city", que j'aimerais remplir automatiquement en fonction du premier ("postal_code"), pour gagner du temps. Dans Excel, c'est tout con avec une RECHERCHEV mais dans Access, je ne connais pas.

Ma deuxième question: j'ai une table contenant 8 champs "target_1", "target_2"..., chacune correspondant à une tranche d'âge (ça doit être très précis). Dans un formulaire, j'ai créé des cases à cocher pour pouvoir faire une sélection multiple. J'aimerais créer un bouton qui, quand on clique dessus, coche automatiquement les 8 cases, pour plus de simplicité (parce que ça arrive assez souvent de devoir les cocher toutes).


Merci d'avance pour vos réponses =)
Nico.

3 réponses

UsulArrakis Messages postés 7405 Date d'inscription vendredi 28 mars 2003 Statut Contributeur Dernière intervention 27 janvier 2022 3 182
19 mars 2008 à 15:41
salut
pour la 1 il faut lier tes 2 tables par un champ commun identique 1 code = une ville
0
Votre liste déroulante doit contenir les deux informations : les codes postaux et les noms de villes associés.
Dans les propriétés de la liste déroulante, ouvir un "event procedure" sur "un clic" ou un "double clic" au choix selon votre humeur.

Le code à écrire est le suivant :

Forms![Nom_du _formulaire]![champ_code_postal]=forms![Nom_du_formulaire]![Nom_de_la_liste_déroulante].Column(0)
Dans cette formule, Column(0) doit correspondre à la première colonne contenant le code postal



Forms![Nom_du _formulaire]![champ_nom_villel]=forms![Nom_du_formulaire]![Nom_de_la_liste_déroulante].Column(1)
Dans cette formule, Column(1) doit correspondre à la seconde colonne contenant le nom de la ville.

Remarque :
Dans les propriétés de la liste déroulante, sous l'onglet : "Données", vous effacez ce qui est sous : "Source de contrôle" :
c'est inutile puisque c'est l'event procedure qui copiera les données nécessaires.
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
28 mars 2008 à 21:59
Je mets mon grain de sel: La procédure indiquée par UsulArrakis est plus logique et bien plus simple. Le formulaire doit simplement être basée sur les deux tables. Il est inutile de stocker le nom de la ville dans la table Clients, ça ferait double emploi...

Pour ce qui est de la deuxième question, le code attaché à la propriété Sur clic du bouton doit être:
Me!Target1.value = True
Me!Target2.value = True

etc...
0