OVH Cloud OVH Cloud

Actualisation Zone de liste

14 réponses
Avatar
Alain TEYSSEDRE
Bonjour

J'ai 3 sous-formulaires A B et C qui affichent respectivement les données
de 3 tables A, B,C
Ces tables sont reliees 1 à plusieurs
Table A reliée à Table B
Table A reliée à Table C

Lorsque je change d'enregistrement dans e1er sous formulaireA (celui qui
affiche les données
de la table A) j'aimerai mettre à jour des Zones de liste dans mes
formulaires B et C

Quel est le code associé et sur quels évènements dois je le mettre ?
(ps j'ai 2 boutons de commande sur Les formulaires B et C qui me permetent
de changer l'enregistrement courant de A)

J'ai mis un peu partout des
Forms![form_Principal]![FormulaireB]![ZonedeListe1].Requery
Forms![form_Principal]![FormulaireC]![ZonedeListe2].Requery
mais y a des cas ou ça ne marche pas, mes zones de listes ne s'actualisent
pas

merci pour votre aide

Alain

4 réponses

1 2
Avatar
Alain TEYSSEDRE
Le seul Hic c'est que je tiens à conserver 2 choses :
- 1 formulaire principal A qui contient mes controles Onglet avec tous
les "sous-formulaires" (B, C D, E ...) qui s'affichent
dans ce controle onglet
- Mon arborescence des tables

On va résoudre les petits pb qui restent ....

déja peux tu me dire comment faire ceci :
lorsque je crée un nouvel enregistrement dans mon formulaire A,
j'aimerai valider l'enregistrement avec un bouton
de commande et me retrouver positionné en mode Edition sur mon sous
formulaire B
actuellement je me retrouve avec un formulaire vierge qui n'indique aucun
enregistrement en cours (c'est normal
vu qu'il n'est pas encore crée.)

Merci
@+
Alain




"Raymond" a écrit dans le message de
news:%
Si le requery fonctionne OK bouge plus.

il n'y a pas d'enregistrement suite à ce que je t'ai dit. les tables ne
sont

pas en relation normale para rapport à ton formulaire et access ne
retrouve

pas l'arborescence des tables.

les tables sopnt reliées
A ==> B ==> C
B ==> D
B ==> E

dans ton formulaire tu fais la liaison de:
A ==> B
A ==> C
A ==> D
A ==> E

comment veux tu que access fasse la liaison A vers B vers C par exemple ?
c'est impossible. ton formulaire et les sous-formulaires doivent refléter
l'arborescence des tables.
Tu as créé A et C, Best ignoré.
quand tu lis A access appelle B qui appelle C, B ne connait pas C, donc
pas

d'enregistrements dans C.
soit tu changes ton formulaire soit tu changes tes liaisons de tables,
mais

faut prendre la réalité de ton application et s'y tenir de partout.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:%
Bon finalement Raymond tu me fais parler, tu me fais parler ... et
c'est pas plus mal car ça me fait réfléchir ... et surtout essayer des
trucs

et je crois que j'ai trouvé la solution

il fallait mettre
Me.ZonedeListe1.Requery dans l'evenement Sub form activate du
formulaire contenant ZonedeListe1
Me.ZonedeListe2.Requery dans l'evenement Sub form activate du
formulaire contenant ZonedeListe2

si tu as des suggestions ...

Maintenant que je t'ai bien expliqué mon appli si tu pouvais me donner
ton


avis sur ma question
Msg : Aucun enregistrement en cours du 22/10/03 (cf newsgroup)

Lorsque j'enregistre un nouvel enregistrement j'ai le message
(dans

mon formulaire C uniquement !):
Aucun enregistrement en cours

Quelle est la cause de ce message ?

Comment l'éviter ?
merci


@+
Alain





Avatar
Raymond
Tu places un bouton et tu as plusieurs solutions en passant par:
Me.dirty = false
DoCmd.RunCommand acCmdSaveRecord
pour ne citer qu'eux et ensuite:
Me.[sousformulaireB].SetFocus
DoCmd.GoToRecord , , acNewRec ' ou acLast, acFirst .....
DoCmd.GoToControl "moncontrole"

il faudra que tu places une fonction d'annulation sur les événements qui
déclanchent la mise à jour des enregistrements pour empêcher de mettre à
jour sans cliquer sur le bouton.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:%
Le seul Hic c'est que je tiens à conserver 2 choses :
- 1 formulaire principal A qui contient mes controles Onglet avec tous
les "sous-formulaires" (B, C D, E ...) qui s'affichent
dans ce controle onglet
- Mon arborescence des tables

On va résoudre les petits pb qui restent ....

déja peux tu me dire comment faire ceci :
lorsque je crée un nouvel enregistrement dans mon formulaire A,
j'aimerai valider l'enregistrement avec un bouton
de commande et me retrouver positionné en mode Edition sur mon sous
formulaire B
actuellement je me retrouve avec un formulaire vierge qui n'indique aucun
enregistrement en cours (c'est normal
vu qu'il n'est pas encore crée.)



Avatar
Alain TEYSSEDRE
il faudra que tu places une fonction d'annulation sur les événements qui
déclanchent la mise à jour des enregistrements pour empêcher de mettre à
jour sans cliquer sur le bouton.


===> peux tu m'expliquer avec un exemple car je en comprends pas de
quel événement
il s'agit et comment empecher la mise à jour

merci

Alain



@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:%
Le seul Hic c'est que je tiens à conserver 2 choses :
- 1 formulaire principal A qui contient mes controles Onglet avec
tous


les "sous-formulaires" (B, C D, E ...) qui s'affichent
dans ce controle onglet
- Mon arborescence des tables

On va résoudre les petits pb qui restent ....

déja peux tu me dire comment faire ceci :
lorsque je crée un nouvel enregistrement dans mon formulaire A,
j'aimerai valider l'enregistrement avec un bouton
de commande et me retrouver positionné en mode Edition sur mon sous
formulaire B
actuellement je me retrouve avec un formulaire vierge qui n'indique
aucun


enregistrement en cours (c'est normal
vu qu'il n'est pas encore crée.)






Avatar
Raymond
Bonjour.

il y a des événements qui vont déclancher ta mise à jour et si tu veux
contrôler la mise à jour par un bouton il faut surveiller les événements
Form_BeforeInsert, Form_KeyDown, Form_BeforeUpdate et Form_Unload. il faudra
savoir par exemple dans BeforeUpdate s'il a été déclanché par le bouton ou
non .
pour annuler l'opération il faudra renvoyer Cancel = True
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:%



il faudra que tu places une fonction d'annulation sur les événements qui
déclanchent la mise à jour des enregistrements pour empêcher de mettre à
jour sans cliquer sur le bouton.


===> peux tu m'expliquer avec un exemple car je en comprends pas
de

quel événement
il s'agit et comment empecher la mise à jour

merci

Alain



@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le
message


de news:%
Le seul Hic c'est que je tiens à conserver 2 choses :
- 1 formulaire principal A qui contient mes controles Onglet avec
tous


les "sous-formulaires" (B, C D, E ...) qui s'affichent
dans ce controle onglet
- Mon arborescence des tables

On va résoudre les petits pb qui restent ....

déja peux tu me dire comment faire ceci :
lorsque je crée un nouvel enregistrement dans mon formulaire A,
j'aimerai valider l'enregistrement avec un bouton
de commande et me retrouver positionné en mode Edition sur mon sous
formulaire B
actuellement je me retrouve avec un formulaire vierge qui n'indique
aucun


enregistrement en cours (c'est normal
vu qu'il n'est pas encore crée.)











1 2