Bonjour,
Débutant en Acces , j'ai construit une petite base de donnée assez simple.
Dans ma BDD, j'ai un :
une table Projet (ID, Nom, Genre, Subgenre, Focus, SubFocus)
une table Genre (ID, Nom)
une table SubGenre (ID, Nom, Genre)
une table Focus (ID, Nom)
une table SubFocus (ID, Nom, Focus)
Il y a d'autres tables mais si j'arrive à résoudre ce souci sur cette partie là, le reste devrait se traiter de la même manière.
Mon problème concerne une recherche multi critère.
J'ai créé un formulaire où on sélectionne via des liste déroulantes les critères suivants (Genre, Subgenre, Focus, SubFocus) et qui lance une requête pour afficher les Projets correspondant.
Comme tout les critères ne sont pas obligatoires, il se peut qu'un critère ne soit pas rempli, premier problème.
Egalement, dans ma table Projet, pour certains enregistrements, il n'y a pas de Genre et/ou de Subgenre et/ou de Focus et/ou de SubFocus, deuxième problème
Comme je ne connais pas grand chose au SQL, j'utilise la création de requete dans Access.
Pour régler le problème des critères vides dans mon formulaire, j'ai bien compris comment utiliser la fonction Nz en mettant dans les critère de ma requête, par exemple pour le SubGenre Nz([Formulaires]![Mon_Formulaire]![F_SubGenre];[SubGenre]) et ainsi de suite pour les autres critères, et ça traite effectivement mon premier problème.
J'en arrive donc à mon deuxième problème qui est que la recherche, me remonte uniquement les enregistrements pour lesquels il y a des données mais ignore les enregistrements pour lesquels ces données sont vides.
Par exemple, si je choisi un Genre mais pas Subgenre dans mon formulaire, elle va bien me remonter les enregistrements liées à ce genre mais va exclure tout les enregistrements liés à ce Genre qui ne possède aucun SubGenre.
J'ai fait des recherches mais je ne trouve pas la solution complète à mon problème, seulement des solutions partielles. Si quelqu'un peut m'aiguiller, je pense pouvoir utiliser un minimum de SQL (la synthaxe me paraît à priori abordable pour moi) si on m'indique où je dois le renseigner.
C'est à priori le dernier problème que je dois traiter pour rendre ma BDD utilisable !
Par avance merci infiniment !
Teddy
Partager