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 :

Recherche Multicritère


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Recherche Multicritère
    Bonjour...

    J'aimerai un peu d'aide pour un code.
    J'ai une table "Clients", contenant la liste des clients d'une entreprise. J'ai créer un formulaire permetant d'afficher cette liste. J'aimerai permetre a l'utilisateur d'afficher les client par ville.

    j'ai donc crée une zone de texte indépendante et un bouton, en introduisant le code suivant:

    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 OK_Click()
    f = ""
    If Not IsNull(Me.Rville) And Me.Rville <> "" Then
    If f <> "" Then
    f = f & " AND Clients_ville = """ & Me.Rville & """"
    Else
    f = "Clients_ville = """ & Me.Rville & """"
    End If
    End If
    Me.Filter = f
    Me.FilterOn = True
     
    End Sub
    Maintenant, comment faire si je veu afficher les clients de deux ville differentes?

    Peut on trouver un code permetant d'utiliser un operateur logigue. Exemple : Strasbourg ET lyon ???

    ou bien

    Peut on trouver un code permetant d'utliser une liste au lieu d'une zone de texte, et séléctionner plusieur element de la zone de texte??

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    slt

    En transformant RVille en Zone de Liste avec propriété Selection = Etendu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub OK_Click()
    Dim i As Variant
    Me.Filter = ""
    For Each i In Rville.ItemsSelected
    Me.Filter = Me.Filter & IIf(Me.Filter = "", "", " OR ") & "Clients_ville= '" & Rville.ItemData(i) & "'"
    Next
    Me.FilterOn = True
    End Sub

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Humm...c sa...parfait...mais sa me pose un deuxième problème!!

    j'ai maintenant une liste pour trier par ville...comment faire si je trier mes client a la fois par ville, et par "capacité du magasin"

    j'ai crée une autre liste renvoyant les valeurs de la capacité du mag.

    j'ai tenté le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub OK_Click()
    Dim i As Variant
    Me.Filter = ""
    For Each i In Rville.ItemsSelected
    Me.Filter = Me.Filter & IIf(Me.Filter = "", "", " OR ") & "Clients_ville= '" & Rville.ItemData(i) & "'"
    Next
    For Each j In Rcapacite.ItemsSelected
    Me.Filter = Me.Filter & IIf(Me.Filter = "", "", " OR ") & "Clients_capacite= '" & Rcapacite.ItemData(j) & "'
    next
    Me.FilterOn = True
    End Sub
    Le code marche, cependant, il me ressort tous
    les client de la ville x OU les client ayant un mag de capacité y
    j'aimerai changé sa afin d'avoir tous
    les client de la ville x ET les client ayant un mag de capacité y

    Quelqu'un a une idée??

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    help

  5. #5
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    salut
    je te suggere de faire un sous form pour voir les clients; il y aura plus d'infos; à l'allure où tu vas tu va certainement finir par cela.
    @+

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    y'a pas moyen de rester sur du code???

  7. #7
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Bien sur que tu feras tout ça avc du code; cependant si tu preferes avc les listes eh bien je regarde ton code et je te repost
    @+

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    ben tu mets un ET au milieu non?

    en gros un truc comme ça si j'ai bien compris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub OK_Click()
    Dim i As Variant
    dim lFilterVille as string
    dim lFilterCapacite as string
    Me.Filter = ""
    For Each i In Rville.ItemsSelected
    lFilterVille = lFilterVille  & IIf(lFilterVille  = "", "", " OR ") & "Clients_ville= '" & Rville.ItemData(i) & "'"
    Next
    For Each j In Rcapacite.ItemsSelected
    lFilterCapacite = lFilterCapacite & IIf(lFilterCapacite = "", "", " OR ") & "Clients_capacite= '" & Rcapacite.ItemData(j) & "'
    next
    me.filter = "(" & IIf(lFilterVille  = "", "1=1",  lFilterVille) & ")  AND (" & IIf(lFilterCapacite = "", "1=1",  lFilterCapacite)  & ")"
    Me.FilterOn = True
    End Sub

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Genial...sa marche nikel. Merci bcps

Discussions similaires

  1. faire un état d'après recherche multicritère
    Par bilouk dans le forum Access
    Réponses: 4
    Dernier message: 12/01/2006, 18h30
  2. Formulaire Recherche MultiCritère et RunTime
    Par fbu78 dans le forum Runtime
    Réponses: 9
    Dernier message: 06/01/2006, 17h52
  3. Recherche multicritère
    Par Darlay Jean_Louis dans le forum Access
    Réponses: 2
    Dernier message: 26/10/2005, 09h54
  4. Réponses: 2
    Dernier message: 01/10/2005, 18h42
  5. recherche multicritères
    Par onlineduel dans le forum Débuter
    Réponses: 3
    Dernier message: 30/03/2004, 16h15

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