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

Access Discussion :

Passer un filtre à un sous-état (Access 97) ?


Sujet :

Access

  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 368
    Points : 23 840
    Points
    23 840
    Par défaut Passer un filtre à un sous-état (Access 97) ?
    Bonjour à tous et merci de votre temps.

    J'ai un état avec un sous-état, en réalité c'est un montage de 2 états ce qui fait que je n'ai pas la structure habituelle Père-Fils.

    Je fait un filtre sur l'état principal pour n'afficher que certains contrats sélectionnés dans une liste et cela marche trés bien à ce niveau mais je n'arrive pas à passer ce filtre au sous-état.

    On peut mettre un filtre à la main dans la propriété filtre du sous-état mais je n'arrive pas à le changer par code.

    J'ai essayé le code suivant dans l'ouverture du sous-état :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      If Not IsNull(Me.Parent.Filter) Then
        Me.Filter = Me.Parent.Filter
      End If
    mais cela génére une erreur 2455, La référence d'un expression à la propriété n'est pas valide.

    j'ai essayé le code dans l'ouverture de l'état principal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me.sousEtat.form.filter=me.filter
    mais cela génére la même erreur.

    Et le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me.sousEtat.filter=me.filter
    provoque l'erreur 'Propriété invalide'

    Quelqu'un a déjà fait cela ? À une idée pour y arriver ?

    A+

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 368
    Points : 23 840
    Points
    23 840
    Par défaut
    Ok, j'ai trouvé une méthode : je simule le filtre avec du VBA.

    Mon code parcourt la liste de sélection du form qui appele le rapport et affiche les champs du sous rapport si le contrat est sélectionné dans la liste.

    Tous les champs et la zone détail du sous-form sont à cangrow=yes et canshrink=yes.

    Si tous les champs sont invisbles la ligne disparait.

    Ici le code que j'ai utilisé.

    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
    25
    26
    27
    28
    29
    30
     
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
      'Vérifie si le contrat fait partie de la liste des contrats sélectionnés
      Dim f As Form_MonFormParam
      Set f = Forms("MonFormParam")
     
      Dim afficherControl As Boolean
     
      afficherControl = False
     
      Dim i As Variant
      For Each i In f.NoContrat.ItemsSelected
     
        If f.NoContrat.ItemData(i) = Me.NO_CONTRAT Then
          afficherControl = True
          Exit For
        End If
     
      Next i
     
      Dim c As Control
      For Each c In Me.Section(acDetail).Controls
     
        If c.Name <> "UnChampJamaisVisible" Then
          c.Visible = afficherControl
        End If
     
      Next c
     
    End Sub
    A+

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/08/2010, 09h51
  2. Réponses: 0
    Dernier message: 21/04/2008, 13h27
  3. Problème d'impression de sous-états Access
    Par skwalig dans le forum IHM
    Réponses: 1
    Dernier message: 24/11/2006, 21h22
  4. sous-états access : positionnement "absolu"
    Par tbrique dans le forum Access
    Réponses: 1
    Dernier message: 15/09/2006, 22h03

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