ACCESS : Déclencher du code sur un formulaire

Fermé
Lazarey Messages postés 3239 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 21 mai 2012 - 14 mai 2009 à 15:09
Lazarey Messages postés 3239 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 21 mai 2012 - 4 juin 2009 à 12:10
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 vendredi 3 novembre 2006 Statut Membre Dernière intervention 21 mai 2012 745
4 juin 2009 à 12:10
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 jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
4 juin 2009 à 11:08
soit plus claire dans tes explications.
tu veux éxécuté quoi sur frm
0
Lazarey Messages postés 3239 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 21 mai 2012 745
4 juin 2009 à 11:31
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 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
4 juin 2009 à 11:33
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 mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 32
4 juin 2009 à 11:34
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 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
4 juin 2009 à 11:37
soit un timer dans frm1 qui teste si frm2 est ouvert...
0
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 32
4 juin 2009 à 11:43
au niveau ressource, le timer c'est quand meme pas terrible surtout pour faire un truc aussi simple que ca...

0