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 :

ListBox avec multi-critère


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut ListBox avec multi-critère
    Bonjour a tous

    J'ai dans une recherche multi critère une listBox avec différente langue a l'nitérieur qui sont select depuis une requête

    Ce que j'aimerais c'est au lieu de pouvoir choisir qu'un eul critpre, pouvoir en choisir plusieur, et ainsi chercher par exemple les gens qui parle francais ET anglais...

    J'ai essayé difféernt moyen, je n'ai pas réussis a trouver le résultat

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MaTable WHERE Langue = 'French' Or Langue = 'English'
    Soit tu mets un deuxieme combo pour la deuxieme langue, soit tu mets une liste à choix multiples.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Chui vraiment dsl mais j'ai encore un peu de mal avec ces codes...

    Merci caféine, je voit plus ou moin ce que tu veux dire, mais je ne sais aps trop ou mettre ce code, je comprend pas bien...

    Si c'est possible d'etre un peu plus explicite ca m'aiderais bcp.

    En fait, mieux qu'une listbox serais des combobox et quand dans une on choisis un critère, une autre apparait pour donner la possibilité de choisir un autre critère...

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Pour être plus explicite il faudrait savoir comment marche ta recherche multicritères.

    Pour le coup des combobox ça me paraît être une mauvaise idée, car comment sais-tu à l'avance combien faut-il en créer ?

    Citation Envoyé par Lycoz
    Chui vraiment dsl mais j'ai encore un peu de mal avec ces codes...

    Merci caféine, je voit plus ou moin ce que tu veux dire, mais je ne sais aps trop ou mettre ce code, je comprend pas bien...

    Si c'est possible d'etre un peu plus explicite ca m'aiderais bcp.

    En fait, mieux qu'une listbox serais des combobox et quand dans une on choisis un critère, une autre apparait pour donner la possibilité de choisir un autre critère...

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Effectivement...

    Mieux vaut rester sur l'idée de la listBox...

    Je sais comment marche la rech-multi, mais je ne voit pas ou intégrer le code que tu as donnés plus haut...

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    c'est bien si toi tu sais, mais vu que nous n'avons pas sous les yeux ta base, nous ne savons pas ...

    si tu utilises mon tuto, regarde où se trouve le SQL et du coup adapte le.

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Regarde :

    (formulaire : F_Recherche)

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Désolé, je ne pratique pas comme ça ... d'autres voudront surement t'aider.

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Autant pour moi...

    Alors que je comprenne autremant...

    Ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MaTable WHERE Langue = 'French' Or Langue = 'English'
    Je suis d'accord...

    Mais tu le place ou?

    Dans le code VB (si oui ou)
    Sinon dans le row source?

  10. #10
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Dans le code VB, là où il y a déjà, enfin je le suppose, un autre code SQL ...

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    OUi il y a un code SQL :


    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
    42
    43
    44
    45
    46
     
    Private Sub RefreshQuery()
     
        SQL = "SELECT ID_Perso, Name, First_Name, Job_Title, Location, Language, Status, Salary, Last_PRP, Strenght, Weaknesses FROM requete_rechmulti Where requete_rechmulti.ID_Perso <>0 "
     
        If Not Me.chkJobTitle Then
            SQL = SQL & "And requete_rechmulti!Job_Title = '" & Me.cmbRechJobTitle & "' "
        End If
     
        If Not Me.chkLocation Then
            SQL = SQL & "And requete_rechmulti!Location = '" & Me.cmbRechLocation & "' "
        End If
     
        If Not Me.chkLanguage Then
            SQL = SQL & "And requete_rechmulti!Language = '" & Me.lstLanguage & "' "
        End If
     
        If Not Me.chkStatus Then
            SQL = SQL & "And requete_rechmulti!Status = '" & Me.cmbRechStatus & "' "
        End If
     
        If Not Me.chkSalary Then
            SQL = SQL & "And requete_rechmulti!Salary like '*" & Me.txtSalary & "*' "
        End If
     
        If Not Me.chkPRP Then
            SQL = SQL & "And requete_rechmulti!Last_PRP like '*" & Me.txtPRP & "*' "
        End If
     
         If Not Me.chkStrenght Then
            SQL = SQL & "And requete_rechmulti!Strenght = '" & Me.lstStrenght & "' "
        End If
     
         If Not Me.chkWeaknesses Then
            SQL = SQL & "And requete_rechmulti!Weaknesses = '" & Me.lstWeaknesses & "' "
        End If
     
        SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
        SQL = SQL & ";"
     
     
        Me.lstResults.RowSource = SQL
        Me.lstResults.Requery
     
    End Sub
    Le fait est que je ne comprend pas ou je doit le placer...

    Il faudrai dans dans la listbox : lstLanguage on puisse selectionner différente langue

  12. #12
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bien à la suite

    Dim v As Variant
    Dim temp As String
    'Crée la liste des éléments
    For Each v In Me.lstLanguage.ItemsSelected
    temp = temp & Chr(34) & v & Chr(34) & ","
    Next v
    If temp <> "" Then
    'Supprime la dernière virgule et ajoute au critere
    temp = Left(temp, Len(temp) - 1)
    SQL = SQL & " AND MonChamp IN (" & temp & ") "
    End If
    MsgBox SQL

  13. #13
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    chui vraiment navré, bien que j'ai tous les éléments sous les yeux, je ne vois pas ou intégrer exactement le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim v As Variant
    Dim temp As String
    'Crée la liste des éléments
    For Each v In Me.lstLanguage.ItemsSelected
    temp = temp & Chr(34) & v & Chr(34) & ","
    Next v
    If temp <> "" Then
    'Supprime la dernière virgule et ajoute au critere
    temp = Left(temp, Len(temp) - 1)
    SQL = SQL & " AND MonChamp IN (" & temp & ") "
    End If
    MsgBox SQL
    J'ai essayé partout, comme par exemple en dessus du End If...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not Me.chkLanguage Then
            SQL = SQL & "And requete_rechmulti!Language = '" & Me.lstLanguage & "' "
        End If
    Mais ca ne marche pas...

    Qqun pourrais me montrer comment l'intégrer que comment ca donne a la fin?

    erci

  14. #14
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    ça marche puisque j'ai testé

  15. #15
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    J'ai mis texto :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Private Sub RefreshQuery()
     
        SQL = "SELECT ID_Perso, Name, First_Name, Job_Title, Location, Language, Status, Salary, Last_PRP, Strenght, Weaknesses FROM requete_rechmulti Where requete_rechmulti.ID_Perso <>0 "
     
     
        If Not Me.chkJobTitle Then
            SQL = SQL & "And requete_rechmulti!Job_Title = '" & Me.cmbRechJobTitle & "' "
        End If
     
        If Not Me.chkLocation Then
            SQL = SQL & "And requete_rechmulti!Location = '" & Me.cmbRechLocation & "' "
        End If
     
        If Not Me.chkLanguage Then
            SQL = SQL & "And requete_rechmulti!Language = '" & Me.lstLanguage & "' "
     
    Dim v As Variant
    Dim temp As String
    'Crée la liste des éléments
    For Each v In Me.lstLanguage.ItemsSelected
    temp = temp & Chr(34) & v & Chr(34) & ","
    Next v
    If temp <> "" Then
    'Supprime la dernière virgule et ajoute au critere
    temp = Left(temp, Len(temp) - 1)
    SQL = SQL & " AND MonChamp IN (" & temp & ") "
    End If
    MsgBox SQL
     
        End If
     
        If Not Me.chkStatus Then
            SQL = SQL & "And requete_rechmulti!Status = '" & Me.cmbRechStatus & "' "
        End If
     
        If Not Me.chkSalary Then
            SQL = SQL & "And requete_rechmulti!Salary like '*" & Me.txtSalary & "*' "
        End If
     
        If Not Me.chkPRP Then
            SQL = SQL & "And requete_rechmulti!Last_PRP like '*" & Me.txtPRP & "*' "
        End If
     
         If Not Me.chkStrenght Then
            SQL = SQL & "And requete_rechmulti!Strenght = '" & Me.lstStrenght & "' "
        End If
     
         If Not Me.chkWeaknesses Then
            SQL = SQL & "And requete_rechmulti!Weaknesses = '" & Me.lstWeaknesses & "' "
        End If
     
     
        SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
     
        SQL = SQL & ";"
     
     
        Me.lstResults.RowSource = SQL
        Me.lstResults.Requery
    et ca ne marche pas...

    P:S immaginon que je sais combien de critère au max peuvent être choisis, ainsi vomment faire des combobox et quand dans une on choisis un critère, une autre apparait pour donner la possibilité de choisir un autre critère... C'est peut etre plus simple étant donné que je ne comprend pas du tout vos explication pour la liste...

Discussions similaires

  1. [XL-2010] Affichage dans ListBox et multi-critères
    Par malycyous dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2015, 10h21
  2. Création de procedure automatique avec multi-critères
    Par mrcanardwc dans le forum Modélisation
    Réponses: 1
    Dernier message: 12/07/2011, 17h29
  3. Problème avec le tutoriel Recherche Multi-critère
    Par Darki dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/08/2007, 17h50
  4. problème SQL avec le tutoriel recherche multi critère
    Par qbihlmaier dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/12/2005, 19h33
  5. problème avec résultat de recherche multi-critères
    Par audrey_desgres dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 11h00

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