[Access 2007] Liste déroulante et formulaire

[Résolu/Fermé]
Signaler
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
-
 ghFrankfurt -
Bonjour,

Je suis entrain de réviser mon examen sur Access 2007 et il y a une chose que je ne sais plus comment faire :

J'ai un champs d'une table, sur lequel je défini une liste déroulante.
A coté de ça je créer un formulaire qui reprend cette liste et qui doit changer les informations pour tous les champs correspondants à la sélection de celle-ci.
C'est à dire ID, nom, date de naissance et sexe.

http://www.hostingpics.net/viewer.php?id=737860table.png
http://www.hostingpics.net/viewer.php?id=476489list.png

Je me rappelle qu'il y une astuce sans devoir passer par le vba mais je ne sais plus laquelle!

Merci infiniment!


9 réponses

Messages postés
10495
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
21 octobre 2021
1 215
Bonjour,
Un exemple, voir formulaire [F_Client] : https://www.cjoint.com/?3Fgpb26AyeL
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
Merci beaucoup,
Temporairement je vais passer par le VBA du coup.
J'ai demandé à un ami comment on devait faire, mais il ne m'a toujours pas répondu.
S'il fini par me répondre, je poste la technique sans code ça pourra peux-être servir.
Messages postés
10495
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
21 octobre 2021
1 215
Bonjour,
En vous relisant, je me demande s'il ne s'agit pas de rechercher un enregistrement dans une table selon un critère d'une liste déroulante ?
Bonjour,

C'est probable, je ne serais le dire...
J'essaye de faire c'est une base de données sur la gestion des DVD
Là je m'occupe des acteurs qui ont participé au film
De ce fait le screenshot posté plus haut, contient x acteurs pour 1 film
Donc si je résume :

fk_film : L'id du film dans le quel il joue
fk_metier : Si sont rôle est "Acteur", "Producteur", "Realisateur"
fk_pers : l'id qui fait la liaison entre la table personne et la table intermédiaire
id_a_metier : Ici c'est l'id de la table intermédiaire entre film, personne et métier
id_pers : L'id de la personne

Donc, le but ici serait finalement de pouvoir attribuer les acteurs au film.
Imaginons que la liste est vide, et que l'utilisateur remplisse le formulaire. Pour ce faire il clique sur la liste déroulante et choisi l'acteur xy et peux le remodifier en tout temps à l'aide de la liste déroulante.

Donc, si je ne dis pas de bêtise, en changeant via le vba, l'id "fk_pers", je devrais pouvoir attribuer le nouvel acteur. J'ai essayé de la changer en vba comme ceci :
me.fk_pers = me.nom_pers.Column(2)  'L'id de l'acteur

Mais j'ai eu droit à un joli message d'erreur :
"Pour modifier cet enregistrement, vous devez d'abord le sauvegarder."
Bon, je viens d'essayer, je n'ai pas encore pris le temps de chercher à quoi correspondait le message.
Messages postés
10495
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
21 octobre 2021
1 215
Bonjour,
Merci pour l'information. Effectivement ce n'est pas ce que je pensais.
En ayant la même base que vous ce serait plus simple de vous aider, mettre votre base compresser en ZIP sur https://www.cjoint.com/ et poster le lien.
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
Bonjour,
Je vous remercie vraiment beaucoup pour le temps que vous prenez à la résolution de mon problème!
Voici donc le fichier joint :
https://www.cjoint.com/?3Fii3xeR2fd

Petite explication:
Il s'agit du formulaire appelé "T_a_metier" (Nom temporaire)
Il reprend sur les tables T_personne et T_a_Metier
J'ai défini le liste déroulante dans la table T_personne
La vérification de si la personne est "Acteur" se fait directement dans le formulaire, dans le contenu de la liste déroulante

Si vous essayez d'ouvrir les autres formulaire, vous aurez très probablement des erreurs. C'est normal, car je fais travailler une partie (notamment les images), avec un dossier externe.
Merci!
Messages postés
10495
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
21 octobre 2021
1 215
Bonjour,
C'est un peu étrange avec votre table [T_Personne] ce n'est pas normal d'avoir une liste déroulante basé sur un propre champ. Pourquoi l'avez-vous créer ?
Concernant formulaire [T_a_metier] (note : ce serait mieux nommée :[ F_a_metier]) .
Je n'ai encore pas compris votre problème !

En plus il y a une incohérence entre la table [T_Personne] et [T_a_Metier] ; j'ai l'impression que les données ne concordent pas...?

Salutations.
Le Pingou
Bonjour,

Concernant la liste déroulante. Je ne trouve pas cela pratique également. Tout de fois, lorsque l'on m'a expliqué la première et fois et que ça marchait. La personne l'avait faite directement dans la table. Du coup, pour que ça fonctionne, j'essaye de reproduire avec exactitude.

Pour le formulaire, je lui ai laissé le nom par défaut car à chaque modifications que j'effectue sur la liste déroulante, il faut re-créer je formulaire pour prendre en compte les modifications. Temporairement il s'appelle T_a_metier. Et vu que ce n'est que des révisions, le "nommage" n'est pas le plus important pour moi.

Pour l'incohérence, je ne vois pas? Étant donné qu'une personne peut faire x métiers pour x films. Qu'entendez-vous par, "elles ne concordent pas"?

Pour résumé mon problème le plus simplement possible :
Si je change le nom d'une personne dans le formulaire "T_a_Metier"
Il n'y a que le nom qui va changer. Mais pas les champs correspondant à cette personne, tel que son id, prénom...
C'est tout bon j'ai fini par résoudre le problème!
Comme d'habitude... C'est tout bête!
En fait j'avais fait la liste déroulante sur le "nom_pers"... Mais il faut la faire sur le "fk_pers"

Le pingou, je vous remercie infiniment pour votre aide!
Bonne journée!