ACCESS : Déclencher du code sur un formulaire

Lazarey Messages postés 3255 Date d'inscription   Statut Membre Dernière intervention   -  
Lazarey Messages postés 3255 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 !
Configuration: Windows XP
Firefox 3.0.10

7 réponses

  1. Lazarey Messages postés 3255 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
  2. nikos le grec Messages postés 116 Statut Membre 1
     
    soit plus claire dans tes explications.
    tu veux éxécuté quoi sur frm
    0
  3. Lazarey Messages postés 3255 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
  4. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    pas possible de manière simple.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. NicoDisso Messages postés 231 Statut Membre 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
  7. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    soit un timer dans frm1 qui teste si frm2 est ouvert...
    0
  8. NicoDisso Messages postés 231 Statut Membre 32
     
    au niveau ressource, le timer c'est quand meme pas terrible surtout pour faire un truc aussi simple que ca...

    0