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

IHM Discussion :

Filtrage multi-critères sur un sous formulaire [AC-2013]


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2018
    Messages : 32
    Points : 29
    Points
    29
    Par défaut Filtrage multi-critères sur un sous formulaire
    Bonjour, j'essaie de réaliser une recherche multicritères sur 6 champs grâce à 6 zones de texte, la visualisation se fait dans un sous formulaire composé de la table en question ou se trouve les 6 champs. Voilà mon code après renseignement des 6 champs ou pas forcément et le déclenchement du filtrage se fait grâce à un bouton:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Private Sub buttton_filtre_Click()
    Dim strFiltre1 As String
    Dim strFiltre2 As String
    Dim strFiltre3 As String
    Dim strFiltre4 As String
    Dim strFiltre5 As String
    Dim strFiltre6 As String
    On Error Resume Next
    strFiltre1 = ""
    strFiltre2 = ""
    strFiltre3 = ""
    strFiltre4 = ""
    strFiltre5 = ""
    strFiltre6 = ""
    'Filtre sur le nom
    If Not IsNull(Me.texte_re_actu) Then
        strFiltre1 = "([code_re_actu] like '*" & Me.texte_re_actu & "*')"
    End If
    If Not IsNull(Me.texte_re_actu) Then
        strFiltre2 = "([code_srp_actu] like '*" & Me.texte_srp_actu & "*')"
    End If
    If Not IsNull(Me.texte_re_cible) Then
        strFiltre3 = "([code_re_cible] like '*" & Me.texte_re_cible & "*')"
        End If
    If Not IsNull(Me.texte_srp_cible) Then
        strFiltre4 = "([code_srp_cible] like '*" & Me.texte_srp_cible & "*')"
    End If
    If Not IsNull(Me.texte_num_dt) Then
        strFiltre5 = "([num_dt] like '*" & Me.texte_num_dt & "*')"
    End If
    If Not IsNull(Me.texte_dem_ui) Then
        strFiltre6 = "([demande_ui] like '*" & Me.texte_dem_ui & "*')"
    End If
     
     
    'Filtrer le sous-formulaire
    With Me.Fille158.Form
        .Filter = strFiltre1 Or strFiltre2 Or strFiltre3 Or strFiltre4 Or strFiltre5 Or strFiltre6
        .FilterOn = True
    End With
    End Sub
    Le résultat ne donne rien, j'ai pourtant essayé le filtrage sur un seul champs et une zone de texte et ça fonctionne, avez vous une idée de mon erreur? Merci d'avance.

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Filter = strFiltre1 and strFiltre2 and strFiltre3 and strFiltre4 and strFiltre5 and strFiltre6

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2018
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Merci pour ta réponse mais sans réussite pour le coup... Je vais continuer à travailler dessus, peut être trouver une autre solution pour l'enchainement des IF, il me renvoie pas d'erreur lors du clic sur le bouton.
    Si je trouve je poserais la solution içi.

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    bonjour,
    et comme cela ?
    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
    31
    32
    33
    Private Sub buttton_filtre_Click()
    Dim strFiltre As String
     
    ' On Error Resume Next <===== à éviter tant que le code n'est pas testé et fonctionne correctement car cela masque toutes les erreurs 
    strFiltre = ""
     
    'Filtre sur le nom
    If Not IsNull(Me.texte_re_actu) Then
        strFiltre = "([code_re_actu] like '*" & Me.texte_re_actu & "*')"
    End If
    If Not IsNull(Me.texte_re_actu) Then
        strFiltre = iif(strFiltre<>""," And ","") & "([code_srp_actu] like '*" & Me.texte_srp_actu & "*')"
    End If
    If Not IsNull(Me.texte_re_cible) Then
        strFiltre = iif(strFiltre<>""," And ","") & "([code_re_cible] like '*" & Me.texte_re_cible & "*')"
    End If
    If Not IsNull(Me.texte_srp_cible) Then
        strFiltre = iif(strFiltre<>""," And ","") & "([code_srp_cible] like '*" & Me.texte_srp_cible & "*')"
    End If
    If Not IsNull(Me.texte_num_dt) Then
        strFiltre = iif(strFiltre<>""," And ","") & "([num_dt] like '*" & Me.texte_num_dt & "*')"
    End If
    If Not IsNull(Me.texte_dem_ui) Then
        strFiltre = iif(strFiltre<>""," And ","") & "([demande_ui] like '*" & Me.texte_dem_ui & "*')"
    End If
     
     
    'Filtrer le sous-formulaire
    With Me.Fille158.Form
        .Filter = strFiltre
        .FilterOn = True
    End With
    End Sub
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

Discussions similaires

  1. [AC-2007] Requête dynamique multi-critères dans un sous-formulaire
    Par fclus dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/10/2011, 15h35
  2. Réponses: 9
    Dernier message: 21/11/2010, 18h37
  3. [AC-2003] Filtre multi critère sur un formulaire en mode feuille de données
    Par Soulq dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/06/2009, 16h55
  4. Problème de filtrage sur un sous formulaire
    Par anthony_rexis dans le forum IHM
    Réponses: 7
    Dernier message: 13/11/2007, 15h55
  5. Réponses: 6
    Dernier message: 18/03/2007, 16h22

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