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 :

Problème de filtre [AC-2007]


Sujet :

IHM

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut Problème de filtre
    Bonjour,

    J'ai basé mon formulaire sur la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tbl_import.FAMILLE, tbl_import.REFERENCE, tbl_import.COMMERCIAL
    FROM tbl_import
    ORDER BY tbl_import.FAMILLE;
    J'ai créé une liste déroulante "FAMILLE_FILTRE" qui permet filtrer le contenu du champ "FAMILLE" :
    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 Famille_filtre_AfterUpdate()
    f = ""
    If Not IsNull(Me.Famille_filtre) And Me.Famille_filtre <> "" Then
    If f <> "" Then
    f = f & " AND FAMILLE = """ & Me.Famille_filtre & """"
    Else
    f = "FAMILLE = """ & Me.Famille_filtre & """"
    End If
    End If
    Me.Filter = f
    Me.FilterOn = True
    End Sub
    Le problème est que j'aimerais aussi créé une zone de liste déroulante "COMMERCIAL_FILTRE" qui filtre le formulaire après le filtre de la zone de liste déroulante "FAMILLE_FILTRE".

    Merci de votre aide

  2. #2
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,

    Je ne comprends pas la difficulté que vous rencontrez ?

    Vous avez déjà une liste déroulante avec un filtre donc, vous devez juste un créer une seconde.
    Côté code, vous avez déjà un début pas mal du tout, mis à part une condition qui n'est pas très utile mais ce que vous devriez faire :
    - Une procédure qui contient votre filtre. Chaque Afterupdate appellerait cette procédure.

    Niveau 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
    Private Sub Filtrer()
    dim f as string
    f = ""
    If Not IsNull(Me.Famille_filtre) And Me.Famille_filtre <> "" Then f = "FAMILLE = """ & Me.Famille_filtre & """"
     
    If Not IsNull(Me.COMMERCIAL_filtre) And Me.COMMERCIAL_filtre<> "" Then 
           if f <> "" then f = f & " AND "
           f = f & "COMMERCIAL = """ & Me.COMMERCIAL_filtre & """"
    end if
     
    if f <> "" then
         Me.Filter = f
         Me.FilterOn = True
    else
         Me.FilterOn = False
    end if
     
    End Sub
    Cordialement,

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Citation Envoyé par Gado2600 Voir le message
    Bonjour,

    Je ne comprends pas la difficulté que vous rencontrez ?

    Vous avez déjà une liste déroulante avec un filtre donc, vous devez juste un créer une seconde.
    Côté code, vous avez déjà un début pas mal du tout, mis à part une condition qui n'est pas très utile mais ce que vous devriez faire :
    - Une procédure qui contient votre filtre. Chaque Afterupdate appellerait cette procédure.

    Niveau 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
    Private Sub Filtrer()
    dim f as string
    f = ""
    If Not IsNull(Me.Famille_filtre) And Me.Famille_filtre <> "" Then f = "FAMILLE = """ & Me.Famille_filtre & """"
     
    If Not IsNull(Me.COMMERCIAL_filtre) And Me.COMMERCIAL_filtre<> "" Then 
           if f <> "" then f = f & " AND "
           f = f & "COMMERCIAL = """ & Me.COMMERCIAL_filtre & """"
    end if
     
    if f <> "" then
         Me.Filter = f
         Me.FilterOn = True
    else
         Me.FilterOn = False
    end if
     
    End Sub
    Cordialement,
    Merci à toi, c'est nickel !

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

Discussions similaires

  1. Problème de filtre sur table
    Par omega dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/08/2006, 10h53
  2. Problème de filtre sur date avec ADOQuery
    Par lingli dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/04/2006, 15h40
  3. Problème de filtre dans un formulaire acess
    Par cdbaloo dans le forum Access
    Réponses: 4
    Dernier message: 31/03/2006, 17h25
  4. Problème avec filtre d'un formulaire ?
    Par HookerSeven dans le forum Access
    Réponses: 3
    Dernier message: 25/02/2006, 01h59
  5. Problème de filtre sur un formulaire
    Par bernardmichel dans le forum IHM
    Réponses: 6
    Dernier message: 12/12/2005, 15h36

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