[VBA Access] recherche multicriteres
sophiechery
-
xeros33 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
xeros33 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- [VBA Access] recherche multicriteres
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche photo - Guide
- Access runtime ✓ - Forum Access
- Je recherche une chanson - Guide
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
3 réponses
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
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
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
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
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