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 :

Fermeture de formulaires [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Par défaut Fermeture de formulaires
    Bonjour à tous,

    j'ai créé un petit formulaire [FrmQuitt] qui me donnes le choix de fermeture des autres formulaires ouverts.
    je voudrai pouvoir en fermer des spécifiques avec un seul bouton. j'ai déjà le code pour les fermer tous, mais là je ne trouve pas de solution.
    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
    Private Sub FermeFrm_Click()
    On Error GoTo Err_FermeFrm
     
        For Each oForm In Application.CurrentProject.AllForms
            If oForm.IsLoaded = True And oForm.Name <> "FrmQuitt" Then DoCmd.Close acForm, oForm.Name
        Next
     
        DoCmd.Close acForm, "frmQuitt"
     
    Exit_FermeFrm:
        Exit Sub
     
    Err_FermeFrm:
        MsgBox Err.Number & " : " & Err.Description
        Resume Exit_FermeFrm
     
    End Sub
    j'ai essayé en ajoutant la propriété [tag], mais rien à faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If oForm.IsLoaded = True And oForm.Name <> "FrmQuitt" And oForm.Tag = "Stk" Then DoCmd.Close acForm, oForm.Name
    si quelqu'un a une idée je suis preneur

    par avance merci pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    Dans un formulaire, une zone de liste avec ces propriétés :



    Un bouton BtFermer et dans le module du formulaire ce code

    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
    20
    21
    22
    23
    24
    Option Compare Database
    Option Explicit
     
     
     
    Private Sub Form_Open(Cancel As Integer)
      Dim oForm As Form
      Me.zdlFormOuverts.RowSource = ""
      For Each oForm In Forms
        If Me.Name <> oForm.Name Then
            Me.zdlFormOuverts.RowSource = Me.zdlFormOuverts.RowSource & oForm.Name & ";"
        End If
      Next oForm
    End Sub
    Private Sub BtFermer_Click()
      Dim oItem
      Dim i As Integer
      For i = 0 To Me.zdlFormOuverts.ListCount - 1
        If Me.zdlFormOuverts.Selected(i) = True Then
            DoCmd.Close acForm, Me.zdlFormOuverts.Column(0, i)
        End If
      Next i
      Call Form_Open(0)
    End Sub

    Une DB exemple ici.

  3. #3
    Membre averti
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Par défaut
    merci pour ta réponse mais ce n'est pas exactement ce que je cherche.

    pour reprendre ton exemple, lorsque les 3 forms sont ouverts, j'aimerai fermer le 1er et le 3eme sans avoir à faire de sélection (disons que 2 forms sont dédiés aux produits et 1 aux fournisseurs puisque je suis dans une bd de gestion de stocks)

  4. #4
    Membre averti
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Par défaut
    yesssss, je viens de trouver
    il suffit juste de placer sur un bouton Btn_Click

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each oForm In Application.CurrentProject.AllForms
            If oForm.IsLoaded = True And oForm.Name <> "FrmQuitt" And Forms(oForm.Name).Tag = "Stk" Then DoCmd.Close acForm, oForm.Name
    Next
    et de placer "Stk" (ou autre texte) dans la remarque de tous les formulaires concernés.
    lors de l'appui sur ce bouton, tous les formulaires ayant cette remarque se ferment
    voilà si ça peut aider

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/04/2006, 13h00
  2. Réponses: 3
    Dernier message: 14/04/2006, 18h58
  3. Réponses: 2
    Dernier message: 03/02/2006, 15h12
  4. Evènement : Fermeture du formulaire
    Par snoopy69 dans le forum Access
    Réponses: 2
    Dernier message: 02/02/2006, 18h16
  5. Réponses: 8
    Dernier message: 28/12/2005, 16h18

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