Je ne sais pas si ça va t'aider ou non, mais tu as ce tutoriel/ code déjà fait:
http://cafeine.developpez.com/access...echerchemulti/
J'ai cru comprendre que le nombre de critères de filtres dans ton cas était variable, mais je pense que le reste du tutoriel peut s'appliquer.
L'idée c'est de générer une requête SQL dont les critères de filtres sont rajoutés ou non (" AND Monchamp like '****' ").
Ce que tu peux faire, c'est rajouter à ton critère de filtre, pour une liste, une valeur nulle
Select Champ from Table Union Null from table
Ensuite, grâce une fonction Nz(), tu peux lui donner une valeur littérale, genre:
1 2 3 4 5 6 7
| String = Nz(Forms![Table].champ,"nul")
If String <> "nul" Then On ajoute la requête
Else (si besoin)
End if |
Là, il ne fera pas le tri sur ce critère de filtre, donc affichera "tout" (relativement aux autres filtres), par contre méfiance si la valeur "nulle" existe pour de bon dans tes choix possibles, là il faudra gérer ça dans le Else.
La méthode proposée par Charles A dans son tutoriel de recherche multi-critère permet par un simple clic d'annuler purement et simplement le critère de filtre en l'affichant ou non: c'est aussi une solution élégante.
Toutefois, pense au cas où ton filtre contiendrait réellement une valeur "nulle" valable, dans ce cas il faudra gérer ça avec un bout de requête du type "AND MonChamp is Null ".
En espérant avoir été assez clair, sachant que je ne suis qu'un débutant qui a bien du mal pour certaines choses simples d'Access.
Partager