OVH Cloud OVH Cloud

Mise à jour liste déroulante dans formulaire

5 réponses
Avatar
AB
Bonjour à tous,
J'ai 3 formulaires différents (bts, greta, esciim), permettant de saisir ou
consulter les données relatives à des étudiants. Ils comportent, chacun, une
liste déroulante liée à la table "entreprises" permettant de choisir une
entreprise.
Ils comportent également un bouton "nouvelle", permettant d'ouvrir un
formulaire "entreprises" pour saisir une nouvelle entreprise.
Lorsque j'ai fini de saisir la nouvelle entreprise, je clique sur un bouton
"fermer" que j'ai créé, et je reviens dans mon formulaire de départ.
Le problème réside dans la mise à jour de la liste déroulante liée à la
table "entreprises".
Je voudrais :
1/ que lorsque j'appuie sur le bouton "nouvelle", avant d'ouvrir le
formulaire "entreprises", le système stocke dans une variable le nom du
formulaire actif (bts, ou greta, ou esciim)
2/ que lorsque, dans le formulaire "entreprises", j'appuie sur "fermer", la
liste déroulante soit mise à jour, quelque soit le formulaire d'où je suis
partir avant d'ouvrir "entreprises" (bts, greta, ou esciim)
Je ne sais pas si c'est clair. J'espère que oui...
Comment faire, vu que je n'y connais rien en VBA Access ?
AB

5 réponses

Avatar
AB
J'ai oublié de préciser que je travaille avec Access 2003, mais que
j'aimerais que la manip fonctionne avec Access 2000.
Merci
AB
"AB" a écrit dans le message de
news:
Bonjour à tous,
J'ai 3 formulaires différents (bts, greta, esciim), permettant de saisir
ou

consulter les données relatives à des étudiants. Ils comportent, chacun,
une

liste déroulante liée à la table "entreprises" permettant de choisir une
entreprise.
Ils comportent également un bouton "nouvelle", permettant d'ouvrir un
formulaire "entreprises" pour saisir une nouvelle entreprise.
Lorsque j'ai fini de saisir la nouvelle entreprise, je clique sur un
bouton

"fermer" que j'ai créé, et je reviens dans mon formulaire de départ.
Le problème réside dans la mise à jour de la liste déroulante liée à la
table "entreprises".
Je voudrais :
1/ que lorsque j'appuie sur le bouton "nouvelle", avant d'ouvrir le
formulaire "entreprises", le système stocke dans une variable le nom du
formulaire actif (bts, ou greta, ou esciim)
2/ que lorsque, dans le formulaire "entreprises", j'appuie sur "fermer",
la

liste déroulante soit mise à jour, quelque soit le formulaire d'où je suis
partir avant d'ouvrir "entreprises" (bts, greta, ou esciim)
Je ne sais pas si c'est clair. J'espère que oui...
Comment faire, vu que je n'y connais rien en VBA Access ?
AB




Avatar
3stone
Salut,

| J'ai 3 formulaires différents (bts, greta, esciim), permettant de saisir ou
| consulter les données relatives à des étudiants. Ils comportent, chacun, une
| liste déroulante liée à la table "entreprises" permettant de choisir une
| entreprise.
| Ils comportent également un bouton "nouvelle", permettant d'ouvrir un
| formulaire "entreprises" pour saisir une nouvelle entreprise.
| Lorsque j'ai fini de saisir la nouvelle entreprise, je clique sur un bouton
| "fermer" que j'ai créé, et je reviens dans mon formulaire de départ.
| Le problème réside dans la mise à jour de la liste déroulante liée à la
| table "entreprises".
| Je voudrais :
| 1/ que lorsque j'appuie sur le bouton "nouvelle", avant d'ouvrir le
| formulaire "entreprises", le système stocke dans une variable le nom du
| formulaire actif (bts, ou greta, ou esciim)
| 2/ que lorsque, dans le formulaire "entreprises", j'appuie sur "fermer", la
| liste déroulante soit mise à jour, quelque soit le formulaire d'où je suis
| partir avant d'ouvrir "entreprises" (bts, greta, ou esciim)


Si je comprends... tu ne ferme pas le formulaire "appelant" en ouvrant
le formulaire "entreprise" ?

Ton problème est donc uniquement de mettre la liste à jour après un ajout...

Dans l'événement "Sur entrée" de ta / tes liste(s) tu mets:

MaListe.Requery

en remplacant "MaListe" par le nom réel de ta liste !

Ok ?


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
AB
Bonjour Pierre, et merci de ta réponse.
Pas sûr d'avoir tout compris. Effectivement, je ne ferme pas le formulaire
appelant en ouvrant le formulaire "entreprise". Le problème est que j'ai 3
formulaires appelants différents, comprenant chacun 4 listes déroulantes, et
un seul formulaire entreprise. Comment faire l'actualisation de la liste
quelque soit le formulaire appelant, et quelle que soit la liste ?
AB
mvp Word

"3stone" a écrit dans le message de
news:3f854885$0$24167$
Salut,

| J'ai 3 formulaires différents (bts, greta, esciim), permettant de saisir
ou

| consulter les données relatives à des étudiants. Ils comportent, chacun,
une

| liste déroulante liée à la table "entreprises" permettant de choisir une
| entreprise.
| Ils comportent également un bouton "nouvelle", permettant d'ouvrir un
| formulaire "entreprises" pour saisir une nouvelle entreprise.
| Lorsque j'ai fini de saisir la nouvelle entreprise, je clique sur un
bouton

| "fermer" que j'ai créé, et je reviens dans mon formulaire de départ.
| Le problème réside dans la mise à jour de la liste déroulante liée à la
| table "entreprises".
| Je voudrais :
| 1/ que lorsque j'appuie sur le bouton "nouvelle", avant d'ouvrir le
| formulaire "entreprises", le système stocke dans une variable le nom du
| formulaire actif (bts, ou greta, ou esciim)
| 2/ que lorsque, dans le formulaire "entreprises", j'appuie sur "fermer",
la

| liste déroulante soit mise à jour, quelque soit le formulaire d'où je
suis

| partir avant d'ouvrir "entreprises" (bts, greta, ou esciim)


Si je comprends... tu ne ferme pas le formulaire "appelant" en ouvrant
le formulaire "entreprise" ?

Ton problème est donc uniquement de mettre la liste à jour après un
ajout...


Dans l'événement "Sur entrée" de ta / tes liste(s) tu mets:

MaListe.Requery

en remplacant "MaListe" par le nom réel de ta liste !

Ok ?


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------





Avatar
3stone
Salut,

| Pas sûr d'avoir tout compris. Effectivement, je ne ferme pas le formulaire
| appelant en ouvrant le formulaire "entreprise". Le problème est que j'ai 3
| formulaires appelants différents, comprenant chacun 4 listes déroulantes, et
| un seul formulaire entreprise. Comment faire l'actualisation de la liste
| quelque soit le formulaire appelant, et quelle que soit la liste ?

Pour la ou les listes auquelles tu ajoute des items par le formulaire "Entreprise"
tu mets dans l'événement "Sur entrée" de ta / tes liste(s)

MaListe.Requery

en remplacant "MaListe" par le nom réel de cette liste !


Ce n'est donc pas dans le formulaire "Entreprise" que tu mets tes listes à jour...
mais bien dans les formulaires appelant.

Il est possible aussi de mettre à jour, uniquement la/les liste(s) du formulaire appelant.
Mais... cela en vaut-il la peine... ?

Si tu y tiens :
Le code d'ouverture du formulaire "Entreprise" de chaque formulaire appelant
doit ressembler à ceci:

DoCmd.OpernForm "Entreprise", , , stLinkCriteria, , , Me.Name

Le "Me.Name" transmet au formulaire "Entreprise" le nom du formulaire
appelant par son argument "OpenArgs".
Dans le formulaire "Entreprise", dans l'événement "Sur fermeture", tu lis
cet argument (donc, le nom du formulaire appelant) pour en mettre la liste à jour...

Forms(Me.OpenArgs).MaListe.Requery

de même pour toutes les listes concernées...
Mais, comme déjà dit... inutile de compliquer ;-)


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
AB
Merci Pierre,
Ca s'éclaire...
A+
André

"3stone" a écrit dans le message de
news:3f85ded8$0$31721$
Salut,

| Pas sûr d'avoir tout compris. Effectivement, je ne ferme pas le
formulaire

| appelant en ouvrant le formulaire "entreprise". Le problème est que j'ai
3

| formulaires appelants différents, comprenant chacun 4 listes
déroulantes, et

| un seul formulaire entreprise. Comment faire l'actualisation de la liste
| quelque soit le formulaire appelant, et quelle que soit la liste ?

Pour la ou les listes auquelles tu ajoute des items par le formulaire
"Entreprise"

tu mets dans l'événement "Sur entrée" de ta / tes liste(s)

MaListe.Requery

en remplacant "MaListe" par le nom réel de cette liste !


Ce n'est donc pas dans le formulaire "Entreprise" que tu mets tes listes à
jour...

mais bien dans les formulaires appelant.

Il est possible aussi de mettre à jour, uniquement la/les liste(s) du
formulaire appelant.

Mais... cela en vaut-il la peine... ?

Si tu y tiens :
Le code d'ouverture du formulaire "Entreprise" de chaque formulaire
appelant

doit ressembler à ceci:

DoCmd.OpernForm "Entreprise", , , stLinkCriteria, , , Me.Name

Le "Me.Name" transmet au formulaire "Entreprise" le nom du formulaire
appelant par son argument "OpenArgs".
Dans le formulaire "Entreprise", dans l'événement "Sur fermeture", tu lis
cet argument (donc, le nom du formulaire appelant) pour en mettre la liste
à jour...


Forms(Me.OpenArgs).MaListe.Requery

de même pour toutes les listes concernées...
Mais, comme déjà dit... inutile de compliquer ;-)


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------