OVH Cloud OVH Cloud

Evenements Form_Load et Form_Current

5 réponses
Avatar
Karim
Bonjour =E0 toutes et =E0 tous,

J'ai un petit soucis de s=E9quence des =E9v=E8nements form_load=20
et form_current

Je vais essayer de poser le pb simplement.

Sur le Form_Load, je d=E9finis la propri=E9t=E9=20
Me.RecourdSource en fonction de divers param=E8tres (dont=20
OpenArgs).
Sur le Form_Current, je fais divers traitements=20
d'affichages, =E0 chaque fois que l'utilisateur change=20
d'enregistrement.

Le souci, c'est qu'=E0 l'ouverture, Form_Current est=20
ex=E9cut=E9 2 fois. Une premi=E8re fois juste apr=E8s=20
l'affectation de Me.RecordSource, et une autre fois juste=20
apr=E8s la fin du Form_Load.
Et cela g=E9n=E8re des erreurs dans l'affichage!

Quelqu'un a-t-il une id=E9e pour que Form_Current ne=20
s'=E9x=E9cute qu'une seule fois?

Merci d'avance aux courageux qui ne se sont pas encore=20
endormi.

Karim

5 réponses

Avatar
Pierre CFI [mvp]
bonjour
une idée non testée
tu definis une variable public boléén mettons Debut

dans l'évenement current en premier
if Debut = false then exit sub
ton code

dans Load tu mets début à true à la fin du code

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans le message de news:11d4701c44232$0e13e780$
Bonjour à toutes et à tous,

J'ai un petit soucis de séquence des évènements form_load
et form_current

Je vais essayer de poser le pb simplement.

Sur le Form_Load, je définis la propriété
Me.RecourdSource en fonction de divers paramètres (dont
OpenArgs).
Sur le Form_Current, je fais divers traitements
d'affichages, à chaque fois que l'utilisateur change
d'enregistrement.

Le souci, c'est qu'à l'ouverture, Form_Current est
exécuté 2 fois. Une première fois juste après
l'affectation de Me.RecordSource, et une autre fois juste
après la fin du Form_Load.
Et cela génère des erreurs dans l'affichage!

Quelqu'un a-t-il une idée pour que Form_Current ne
s'éxécute qu'une seule fois?

Merci d'avance aux courageux qui ne se sont pas encore
endormi.

Karim
Avatar
Karim
Je vais peut-être dire une bêtise, mais si je fais ce que
tu me proposes, mon form_current ne sera plus jamais
lancé (j'ai en quand même besoin lorsque l'utilisateur
change d'enregistrement).

Aujourd'hui form_current est lancé 2 fois au démarrage,
puis 1 fois à chaque changement d'enreg.
Moi j'aimerais 1 fois au démarrage, puis 1 fois à chaque
changement d'enreg.

-----Message d'origine-----
bonjour
une idée non testée
tu definis une variable public boléén mettons Debut

dans l'évenement current en premier
if Debut = false then exit sub
ton code

dans Load tu mets début à true à la fin du code

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:11d4701c44232$0e13e780

$
Bonjour à toutes et à tous,

J'ai un petit soucis de séquence des évènements form_load
et form_current

Je vais essayer de poser le pb simplement.

Sur le Form_Load, je définis la propriété
Me.RecourdSource en fonction de divers paramètres (dont
OpenArgs).
Sur le Form_Current, je fais divers traitements
d'affichages, à chaque fois que l'utilisateur change
d'enregistrement.

Le souci, c'est qu'à l'ouverture, Form_Current est
exécuté 2 fois. Une première fois juste après
l'affectation de Me.RecordSource, et une autre fois juste
après la fin du Form_Load.
Et cela génère des erreurs dans l'affichage!

Quelqu'un a-t-il une idée pour que Form_Current ne
s'éxécute qu'une seule fois?

Merci d'avance aux courageux qui ne se sont pas encore
endormi.

Karim


.



Avatar
Raymond [mvp]
bonjour.

Form_Current n'est exécuté qu'une seule fois au chargement. il est ensuite
exécuté à chaque changement d'enregistrement. s'il est exécuté deux fois au
démarrage, ce n'est pas deux fois au démarrage mais 1 fois au démarrage et 1
fois à un changement d'enregistrement volontaire. vérifie en mettant un
suivi dans tes procédures que tu ne fais pas un mouvement d'enregistrement
au chargement (tel un movelast pour récupérer le nombre d'enregistrements)

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Karim" a écrit dans le message de
news:11ef801c44235$40fd0480$
Je vais peut-être dire une bêtise, mais si je fais ce que
tu me proposes, mon form_current ne sera plus jamais
lancé (j'ai en quand même besoin lorsque l'utilisateur
change d'enregistrement).

Aujourd'hui form_current est lancé 2 fois au démarrage,
puis 1 fois à chaque changement d'enreg.
Moi j'aimerais 1 fois au démarrage, puis 1 fois à chaque
changement d'enreg.
Avatar
Pierre CFI [mvp]
si, puisque tu fais passer ta variable public à vrai

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans le message de news:11ef801c44235$40fd0480$
Je vais peut-être dire une bêtise, mais si je fais ce que
tu me proposes, mon form_current ne sera plus jamais
lancé (j'ai en quand même besoin lorsque l'utilisateur
change d'enregistrement).

Aujourd'hui form_current est lancé 2 fois au démarrage,
puis 1 fois à chaque changement d'enreg.
Moi j'aimerais 1 fois au démarrage, puis 1 fois à chaque
changement d'enreg.

-----Message d'origine-----
bonjour
une idée non testée
tu definis une variable public boléén mettons Debut

dans l'évenement current en premier
if Debut = false then exit sub
ton code

dans Load tu mets début à true à la fin du code

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:11d4701c44232$0e13e780

$
Bonjour à toutes et à tous,

J'ai un petit soucis de séquence des évènements form_load
et form_current

Je vais essayer de poser le pb simplement.

Sur le Form_Load, je définis la propriété
Me.RecourdSource en fonction de divers paramètres (dont
OpenArgs).
Sur le Form_Current, je fais divers traitements
d'affichages, à chaque fois que l'utilisateur change
d'enregistrement.

Le souci, c'est qu'à l'ouverture, Form_Current est
exécuté 2 fois. Une première fois juste après
l'affectation de Me.RecordSource, et une autre fois juste
après la fin du Form_Load.
Et cela génère des erreurs dans l'affichage!

Quelqu'un a-t-il une idée pour que Form_Current ne
s'éxécute qu'une seule fois?

Merci d'avance aux courageux qui ne se sont pas encore
endormi.

Karim


.



Avatar
Karim
effetivement!

merci bien à tous !
-----Message d'origine-----
si, puisque tu fais passer ta variable public à vrai

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:11ef801c44235$40fd0480

$
Je vais peut-être dire une bêtise, mais si je fais ce que
tu me proposes, mon form_current ne sera plus jamais
lancé (j'ai en quand même besoin lorsque l'utilisateur
change d'enregistrement).

Aujourd'hui form_current est lancé 2 fois au démarrage,
puis 1 fois à chaque changement d'enreg.
Moi j'aimerais 1 fois au démarrage, puis 1 fois à chaque
changement d'enreg.

-----Message d'origine-----
bonjour
une idée non testée
tu definis une variable public boléén mettons Debut

dans l'évenement current en premier
if Debut = false then exit sub
ton code

dans Load tu mets début à true à la fin du code

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:11d4701c44232$0e13e780

$
Bonjour à toutes et à tous,

J'ai un petit soucis de séquence des évènements
form_load


et form_current

Je vais essayer de poser le pb simplement.

Sur le Form_Load, je définis la propriété
Me.RecourdSource en fonction de divers paramètres (dont
OpenArgs).
Sur le Form_Current, je fais divers traitements
d'affichages, à chaque fois que l'utilisateur change
d'enregistrement.

Le souci, c'est qu'à l'ouverture, Form_Current est
exécuté 2 fois. Une première fois juste après
l'affectation de Me.RecordSource, et une autre fois
juste


après la fin du Form_Load.
Et cela génère des erreurs dans l'affichage!

Quelqu'un a-t-il une idée pour que Form_Current ne
s'éxécute qu'une seule fois?

Merci d'avance aux courageux qui ne se sont pas encore
endormi.

Karim


.




.