IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Tester si un formulaire est ouvert et refresh


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Tester si un formulaire est ouvert et refresh
    Bonjour,

    J'ai un formulaire frmFournisseurs, que je peux ouvrir soit directement dans mon menu soit via un bouton sur le formulaire frmVirement.

    Ce formulaire frmVirement contient des sous-formulaires avec des listes déroulantes, dont les données se trouvent dans frmFournisseurs.

    Lorsque j'ouvre frmFournisseurs à partir de frmVirement je souhaite qu'il mette à jour frmVirement lorsque je le ferme et que je me retrouve sur frmVirement.

    J'ai donc utilisé cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function fIsLoaded(strFormName As String) As Boolean
        Dim ObjAcc As AccessObject
        Set ObjAcc = CurrentProject.AllForms(strFormName)
        If ObjAcc.IsLoaded Then
            If ObjAcc.CurrentView <> acCurViewDesign Then
                fIsLoaded = True
            End If
        End If
    End Function


    Le code que j'ai utilisé dans frmFournisseurs est celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Form_Close()
    stDocName = "frmVirement"
     
    If fIsLoaded(stDocName) = 0 Then
     
    Forms(stDocName)!cmbBeneficiaire.Requery
    Forms(stDocName)!cmbFournisseur.Requery
    Forms(stDocName)!cmbFournisseurBanque.Requery
    Forms(stDocName)!frmFournisseursBanques.Requery
    Forms(stDocName)!frmFournisseursBeneficiaires.Requery
    End If
     
    End Sub

    Mais si mon formulaire frmVirement est fermé il m'affiche un message, que le formulaire frmVirement est introuvable (forcément il est fermé justement !) et me surligne la 1ère ligne Form(stDocName) ... en débogage.

    Comment arranger cela ?

    merci beaucoup

    Sandrine

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Peut-être en remplaçant 0 par True ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Form_Close()
    stDocName = "frmVirement"
     
    If fIsLoaded(stDocName) = True Then
     
    Forms(stDocName)!cmbBeneficiaire.Requery
    Forms(stDocName)!cmbFournisseur.Requery
    Forms(stDocName)!cmbFournisseurBanque.Requery
    Forms(stDocName)!frmFournisseursBanques.Requery
    Forms(stDocName)!frmFournisseursBeneficiaires.Requery
    End If
     
    End Sub
    A+

  3. #3
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut s.jean et LedZeppII

    visiblement tu as un pb avec la valeur que renvoie fIsLoaded()
    n'ayant pas le code on aura du mal à t'aider.

    pour ne pas avoir à faire de supposition je ferais cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Close()
    On Error Resume Next
    stDocName = "frmVirement"
     
    Forms(stDocName)!cmbBeneficiaire.Requery
    Forms(stDocName)!cmbFournisseur.Requery
    Forms(stDocName)!cmbFournisseurBanque.Requery
    Forms(stDocName)!frmFournisseursBanques.Requery
    Forms(stDocName)!frmFournisseursBeneficiaires.Requery
    End Sub

    vodiem

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/10/2008, 14h12
  2. tester si un formulaire est ouvert ou pas
    Par idiot dans le forum IHM
    Réponses: 2
    Dernier message: 31/12/2007, 14h49
  3. Tester si un formulaire est ouvert
    Par mouaa dans le forum VBA Access
    Réponses: 4
    Dernier message: 30/07/2007, 12h30
  4. [Formulaires] Tester si un formulaire est ouvert
    Par Ithilien dans le forum IHM
    Réponses: 2
    Dernier message: 10/01/2007, 16h28
  5. Tester si un onglet est ouvert dans un formulaire
    Par dfournier dans le forum Access
    Réponses: 4
    Dernier message: 20/07/2006, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo