[VBA Access] recherche multicriteres

sophiechery -  
xeros33 Messages postés 26 Statut Membre -
Bonjour,

j'ai commencé une base de données sous access, tout fonctionne normallement. J'aimerais maintenant faire un "menu", ou page de demarrage ou je peux selectionner un record a partir de criteres. Pour ca j'ai crée une listbox et des combobox pour les criteres (3 au total) la listbox me renvoie des records. Le probleme c'est que je voudrais prendre les records qui correspondent a la fois a la combobox 1 et a la combobox 2 et a la combox 3; parce que pour l'instant ca me renvoie les records qui correspondent a la combobox 1 ou a la combobox 2 ou a la combox 3 (du coup trop de records et la recherche ne sert plus a rien...) j'espere que quelqu'un peut m'aider...

merci d'avance

Sophie
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. xeros33 Messages postés 26 Statut Membre 1
     
    salut a toi
    moi aussi il m'est arrivé le même problème
    pour ma part j'avais créer des check box et j'avais rentré le code suivant:

    private sub refresh query
    dim sql as string

    sql="select * from ma table"
    if not me.chk_société then
    sql=sql & "and société from ma table like '*" & me.txtsociété & " *'
    end if
    'a repeter autant de fois que tu as de combo
    sql=sql & ";"
    me.lstresult.rowsource=sql 'lstresult = tableau ou tu affiche tes resultats
    me.lstresult.requery
    end sub

    private sub chksociété_click()
    refreshquery
    end sub

    ce n'était pas de moi je l'avais trouvé d'un tuto sur le net
    en esperant que ca t'aide
    xeros
    0
    1. chery209 Messages postés 2 Statut Membre
       
      salut, merci, j'ai verifié mais rien n'a changé...
      si je laisse la derniere sub:

      private sub chksociété_click()
      refreshquery
      end sub

      alors ma listbox est carrement vide. si je retire ces 3 dernieres lignes, je reobtiens les memes resultats qu'avec mon ancien code :(

      merci en tout cas

      Sophie
      0
  2. Utilisateur anonyme
     
    Bonjour,

    J'ai une solution à vous proposer ...

    Modifier la requête par programmation au fur et à mesure que les critères sont sélectionnés.

    Première étape :

    Construire une requête avec 3 critères correspondant au choix de chacun des combobox.

    Généré ensuite la routine :

    Private Sub ComboBox1_AfterUpdate()

    End Sub

    À partir de ces 2 informations je pourrai vous guider pour construire la mécanique.

    Lupin
    0
  3. xeros33 Messages postés 26 Statut Membre 1
     
    bonjour,
    le mieux, je pense, serait que tu nous mette le code que tu as fait avec les bonnes variables afin de mieu pouvoir te guider dans ta démarche
    0