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 :

sub popup dans module [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Par défaut sub popup dans module
    bonjour, j'ai un petit probleme
    j'ai un bouton "bscpopup " qui doit rendre mon form dependant ou non. Tt se passe bien si la sub est dans le form mais ne fonctionne plus dans un module

    Dans le module de classe la sub etait la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub BasPopup_Click()
    Dim valeur As Long
    If Me.Popup = False Then
    DoCmd.OpenForm "frepertoire", acDesign
    Forms.frepertoire.Popup = True
    Forms.frepertoire.BasPopup.Caption = "Dependant"
    Else
    DoCmd.OpenForm "frepertoire", acDesign
    Forms.frepertoire.Popup = False
    Forms.frepertoire.BasPopup.Caption = "independant"
    End If
    DoCmd.OpenForm "frepertoire", acNormal, , , , , valeur
    end sub
    Dans le module je pensais avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub dependant(strform As String, valeur As Long, Form As Form)
    'fonction formulaire independant
    If Form.Popup = False Then
    DoCmd.OpenForm strform, acDesign
    Form.Popup = True
    Form.BasPopup.Caption = "Dependant"
    Else
    DoCmd.OpenForm strform, acDesign, , , , acHidden
    Form.Popup = False
    Form.BasPopup.Caption = "independant"
    End If
    DoCmd.OpenForm strform, acNormal, , , , , valeur
    End Sub
    avec dans le formulaire sur le bouton "bscpopup"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dependant "frepertoire", idrepertoire, Forms.frepertoire
    Des que le form passe en mode creation ,il ne comprend plus la variable form alors que si je le remplace par forms.frepertoire cela fonctionne?????

  2. #2
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Il vaut mieux éviter ce genre de chose : Form As Form.
    Une variable du même nom que son type ... ça prête à confusion.

    Voila ce que j'ai essayé et qui fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Dependant(valeur As Long, fm As Form)
    Dim strForm As String, bOldPopup As Boolean
    'fonction formulaire independant
    strForm = fm.Name
    bOldPopup = fm.PopUp
     
    DoCmd.OpenForm strForm, acDesign
    Set fm = Forms(strForm)
     
    If bOldPopup = False Then
        fm.PopUp = True
        'fm.BasPopup.Caption = "Dependant"
    Else
        fm.PopUp = False
        'fm.BasPopup.Caption = "independant"
    End If
     
    DoCmd.OpenForm strForm, acNormal, , , , , valeur
    End Sub
    Je référence à nouveau la variable objet fm après DoCmd.OpenForm, car de toute évidence l'objet initial (au sens VBA) a été détruit puis recréé.

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Par défaut
    un grand merci.
    ça fonctionne impeccable et le set fm=forms(strform) va resservir de toute evidence
    a bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/04/2014, 13h16
  2. Popup dans un module
    Par yvancoyaud dans le forum Flex
    Réponses: 6
    Dernier message: 06/09/2013, 07h58
  3. Réponses: 2
    Dernier message: 07/08/2007, 09h35
  4. Exécuter une sub d'un module dans une macro
    Par pnoel-bi dans le forum Access
    Réponses: 3
    Dernier message: 03/03/2006, 10h39
  5. [VB.NET] Appeler une sub public dans un module de form
    Par SergeF dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/06/2004, 13h08

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