ACCESS : Déclencher du code sur un formulaire

Lazarey Messages postés 3239 Date d'inscription   Statut Membre Dernière intervention   -  
Lazarey Messages postés 3239 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai une question ACCESS à vous poser. on va dire que j'ai 2 formulaires : frm1 et frm2.
Sur frm1, il y a un bouton qui ouvre frm2. Ce que je voudrais faire, c'est lorsque je ferme frm2, du code vba soit exécuté sur frm1. Le problème, c'est que je ne sais pas sur quel évènement faire exécuter ce code.

Quelqu'un pour m'aider svp ???
Merci !

7 réponses

Lazarey Messages postés 3239 Date d'inscription   Statut Membre Dernière intervention   745
 
Salut les gars !!!!

Merci de m'aider, mais ne vous prenez plus la tête car j'ai trouvé une solution qui fonctionne.

Tout d'abord une fonction qui teste si le formulaire est ouvert :

Function test_form_ouvert(nom_form As String) As Boolean

Dim monform
For Each monform In Forms
    If nom_form = monform.Name Then
        test_form_ouvert = True
        Exit Function
    End If
Next
test_form_ouvert = False

End Function


Elle n'est pas de moi, je l'ai trouvée ailleurs puis un peu réadaptée.

Et enfin mon code, exécuté sur fermeture dur formulaire :

Private Sub Form_Close()
If test_form_ouvert("Menu") Then
    [Forms]![Menu].Étiquette24.Caption = "En attente : " & calcul_attente2()
    [Forms]![Menu].Étiquette25.Caption = "En attente : " & calcul_attente3()
    [Forms]![Menu].Étiquette26.Caption = "En attente : " & calcul_attente4()
    [Forms]![Menu].Étiquette38.Caption = "En attente : " & calcul_dac2()
    [Forms]![Menu].Étiquette39.Caption = "En attente : " & calcul_dac3()
    [Forms]![Menu].Étiquette40.Caption = "En attente : " & calcul_dac4()
End If
End Sub


En fait, ce que je voulais faire c'était mettre à jour des étiquettes sur le formulaire qui reste ouvert. Donc ce code est exécuté, il met a jour les étiquettes sur le formulaire qui reste ouvert, et celui que je veux fermer se ferme.

Merci beaucoup à vous en tout cas !
1
nikos le grec Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   1
 
soit plus claire dans tes explications.
tu veux éxécuté quoi sur frm
0
Lazarey Messages postés 3239 Date d'inscription   Statut Membre Dernière intervention   745
 
Salut,

C'est quoi que t'as pas compris ?

J'ai 2 formulaires. Lorsque j'en ferme un, je veux exécuter du code sur l'autre (s'il est ouvert bien sur).
0
blux Messages postés 27137 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

pas possible de manière simple.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NicoDisso Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   32
 
soit quand tu affiches
frm2.show vbmodal,me

et du coup ton code dans frm1 s'arrete et attend que frm2 se decharge pour revenir mais bon c'est pas terrible
sinon tu fais une procedure public dans frm1 du style

public sub Traitement_Post_Frm2

msgbox "ok"

end sub

et dans ton code pour décharger frm2, à la fin de la procedure tu fais


call frm1.traitement_post_frm2


et voila...
0
blux Messages postés 27137 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
soit un timer dans frm1 qui teste si frm2 est ouvert...
0
NicoDisso Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   32
 
au niveau ressource, le timer c'est quand meme pas terrible surtout pour faire un truc aussi simple que ca...

0