Liste deroulante modifiable sous access 2000

Fermé
Marc - 7 avril 2008 à 18:10
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 - 23 mai 2008 à 17:59
Bonjour,
Je debute avec access d'ou ma question
j'ai créer une table avec 2 champs 1 qui sapelle NOM l'autre c'est la clé créée automatiquement
J'ai une 2éme table avec d'autres champs dont le champ NOM
Et dans cette table je voudrais mettre une liste deroulante modifiable sur le champ NOM ce que j'ai reussis à faire ,mais quand je saisis une donnée qui n'est pas dans la liste access grogne avec le message qui me dit que la donnée n'existe pas dans la liste
Alors comment dois je faire
merci pour vos réponses
Marc

4 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
7 avril 2008 à 20:21
Je suppose que tu as utilisé l'Assistant pour faire ça.

Donc Access te montre une liste de noms, mais enregistre le numéro correspondant. Donc si tu essayes de saisir un nom qui n'existe pas dans la première table, il n'en veut pas puisqu'il n'a pas de numéro - Il y a une logique.
Il faut que tu corriges cette liste manuellement.

D'abord, supprime le lien que l'Assistant a créé entre les deux tables.
Ensuite, va dans l'onglet Liste de choix de ton champ de la deuxième table, celui dans lequel tu veux choisir ou taper un nom.
Tu modifies la zone Contenu en cliquant sur le bouton générateur (Trois points, à droite) et tu enlèves le champ Numéro, valide et enregistre.
Ensuite tu mets la propriété "Nombre de colonnes" à 1, tu enlèves la première largeur de colonne qui doit être à 0, et pour finir tu mets Non dans la propriété "Limiter à la liste".

Si je n'ai rien oublié ça devrait fonctionner!
0
Merci pour la réponse,ça fonctionne,mais je voudrais que le texte que je saisis soit archivé dans la 1éere table
et réaparaisse dans la liste déroulante
Marc
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
7 avril 2008 à 23:36
Je ferais ça, par exemple, avec une requête Ajout qui se lancerait manuellement ou automatiquement à la fermeture, ou l'ouverture, du formulaire ou de la base de données.

La difficulté, dans le cas présent, vient du fait que tu as mis la clé sur un numéro automatique. Donc si tu ajoutes une nouvelle fois le même nom Access ne "dira rien". Tu dois soit mettre la clé directement sur le champ Nom, soit l'indexer sans doublons.
Ou alors... La première table ne sert à rien. La liste de choix du champ Nom du formulaire pourrait être basée sur le contenu du même champ Nom dans la même table (Mais il n'y a pas d'assistant pour le faire, tu dois définir toutes les propriétés à la main).

Comme ça elle s'auto-alimenterait vraiment toute seule. Tout dépend du nombre de noms que tu as, au départ, dans la première table.
0
thelegendofben Messages postés 9 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 26 mai 2008 4
23 mai 2008 à 12:01
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
tout ca fodrai que ca soit dans une meme petite fenetre, ca serai l'ideal
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!!!!
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
23 mai 2008 à 17:59
Ca a déjà été expliqué plein de fois, mais je saurais pas te dire où...

Voilà le principe.

On est dans un formulaire que j'appelle FormulaireGénéral

Ta première liste contient les départements. Ca, c'est simple. Je l'appelle ChoixDépartement.

La deuxième contient les établissements, elle est basée sur une requête elle-même basée sur ta table Theme, tu prends les chemps thème et département, tu mets un critère sur le département, du genre Forms!FormulaireGénéral!ChoixDépartement. Cette liste, je l'appelle ChoixTheme.

Et pour que le contenu de la liste ChoixTheme soit toujours à jour par rapport à la liste choixDépartement, il faut mettre dans la propriété AprèsMAJ de le liste ChoixDépartement un petit bout de VB:
Tu cliques sur le bouton générateur de cette propriété (Trois petits points) et tu écris:
DoCmd.Requery ("Me!ChoixTheme")

Ca mettra la deuxième liste à jour.

Etc etc si plusieurs listes se conditionnent les unes les autres...
0