cs_himane
Messages postés56Date d'inscriptiondimanche 27 mai 2007StatutMembreDernière intervention23 février 2008
-
15 août 2007 à 13:44
malekmallok
Messages postés3Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention30 août 2007
-
28 août 2007 à 11:00
Salut tout le monde
j'ai un prob de la propriéte Filter.
j'ai plusieurs critère de filtration et quand je filtre sur l'un des critère l'utilisateur peut changer la valeur du critere et puisque mon rs ne contient que la requete filtré le fait de la refiltrer ne me donne aucun resultat
Je m'explique:
l'utilisateur choisi un pays comme critere donc je fais
rs.Filter= " [pays] LIKE '" & pay.Text & "*' " et ainsi il filtre par exemple la France et le rs ne contient que les enregistrements dont le pays est la france
puis l'utilisateur choisi un autre critére par exemple la ville et donc je fais
rs.Filter= " [ville] LIKE '" & vill.Text & "*' " et ainsi il filtre par exemple la ville Paris
mais si l'utilisateur se trompe de ville et il veut changer la ville pour filter par la ville Nice le resultat est vide car je n'ai dans mon rs que les enregistrements dont la ville est Paris
et je peut pas faire rs.filter ="" car je vais perdre le filtre sur le Lieu et eventuellement sur les autres criteres.
imaginer cela avec plusieurs critère parcque avec deux c'est faisable par le code 4 requetes diferente suffit mais 8 critere c'est un peut trop.
Voila j'épère que vous avez compris mon prob.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 15 août 2007 à 18:08
Salut,
refiltrer ne signifie filtrer sur le filtre mais redéfinir le filtre.
A supposer même que tu as plus de 8 critères, tu fais une
concaténation de l' ensemble des critères (dans une chaine)
LeFilter= " [pays] LIKE '" & pay.Text & "*'"
LeFilter= LeFiltre & " And [Ville] LIKE '" & Ville.Text & "*'"
LeFilter= LeFiltre & " And [Chp3] LIKE '" & Text3.Text & "*'"
...
etc
Au final
rs.Filtre=LeFiltre
Cependant, une précaution à prendre avec l' opérateur And.
A chaque niveau,Il faut tester pour savoir si LeFiltre n' est pas vide
et donc inclure And ou pas.
cs_himane
Messages postés56Date d'inscriptiondimanche 27 mai 2007StatutMembreDernière intervention23 février 2008 16 août 2007 à 12:33
Salut
Bon tout d'abord je te remercier pour ta reponse trés trés interressante
Mais je dois te signaler que ta méthode ne marche pas mais elle est vraiment géniale j'y ai jamais pensé.Le prob c'est que supposant que l'utilisateur a choisit le pays puis la ville donc le filtre contient maitenant le pays (France) et la ville (Paris) mais si il veut refaire son choix de Le pays parcequ'il s'est trompé et choisi (Espagne) maintenant le filtre contient France Paris et Espagne et donc un critére a plusieurs valeurs ne retourne rien.
Mais je doit te remercier parceque grace à ta reponse j'ai pu trouver la reponse oui la fameuse "OURIKA..."
l'erreur reside dans le fait que je filtre automatiquement aprés le choix de l'utilisateur or l'utilisateur peut changer d'avis et me laisser plantée et voila que j'ai pensé à laisser l'utilisateur faire tous ses choix et en s'assurer puis clicker sur le bouton actualiser qui recupère les critères definitives et puis filter
et ça marche bien. .
Merci infiniment........
cs_himane
Messages postés56Date d'inscriptiondimanche 27 mai 2007StatutMembreDernière intervention23 février 2008 15 août 2007 à 14:40
resalut
j'ai fait une ptt erreur de copier coller dans la 2ème filtation je fait
rs.Filter = rs.Filter & " and [ville] LIKE '" & vill.Text & "*'"
est ce qu'il y a qlq1 de gentille pour m'aider ou au moins me dire que ça vaut pas la peine pour que je laisse tomber. ça fait une semaine que je cherche et j'ai pas trouvé.
cs_himane
Messages postés56Date d'inscriptiondimanche 27 mai 2007StatutMembreDernière intervention23 février 2008 16 août 2007 à 13:11
resalut
bon j'ai un autre prob .j'ai besoin d'exporter les donnés filtrés à Excel
et j'ai une fonction qui fait cela
or quand j'y appele mon recordset filtré voila qu'il exporte toutes les donnée du rs comme s'il n'a pas été filtré.
j'utilise cette methode dans ma fonction exportation
with classeur
with feuille
.Range(.Cells(2, 1), .Cells(nblignes, NbCols)).CopyFromRecordset DE1.rsstat
SVP est ce que qulq1 peut m'aider j'ai besoin de recuperer mon rs filtré