Bonjour à Tous
Je crée une base pour une collection de monnaies anciennes.
Je m'inspire des 2 bases suivantes "DBPhotos" et "recherchesmulticriteres" que l'on trouve sur votre site.
En ce qui concerne DBPhotos, je l'ai adapté à mes besoins et tout fonctionne parfaitement pour la saisie des informations et l'intégration des images situées sur un répertoire de mon DD.
Là ou je coince, c'est avec Recherchesmulticritères. J'ai bien évidemment adapté à mes besoins cette dernière base, par exemple la T_Agences en T_Pays, T_Diplômes en T_Année etc... et ajouter les T_Matière et T_Devise. J'ai de même avec les requêtes, les formulaires, les états, les macros, le SQL présent.
Comme je ne suis pas un génie en VBA, j'ai opté pour recherchesmulticritères SANS CODE, j'ai donc épuré en supprimant le module, les formulaires et états avec code pour faire des essais. Tout fonctionne parfaitement. Donc je me suis lancé sur une adaptation des éléments de votre base, sur la mienne "Monnaie", et ça se complique. Mon formulaire CritereSelection contient 6 zones de liste modifiable ("FiltreXYZ") ayant en contenu le SQL suivant adapté à chaque critère de sélection :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT DISTINCT T_Pays.Pays, T_Pays.CodePays 
FROM T_Pays INNER JOIN T_Monnaie ON T_Pays.CodePays=T_Monnaie.CodePays 
WHERE T_Monnaie.CodeAnnée=IIf([Formulaires]![CritereSelection]![filtreAnnée]=0,[T_Monnaie].[CodeAnnée],[Formulaires]![CritereSelection]![filtreAnnée]) AND T_Monnaie.CodeEpoque=IIf([Formulaires]![CritereSelection]![filtreEpoque]=0,[T_Monnaie].[CodeEpoque],[Formulaires]![CritereSelection]![filtreEpoque]) AND 
T_Monnaie.CodeValeurFaciale=IIf([Formulaires]![CritereSelection]![filtreValeurFaciale]=0,[T_Monnaie].[CodeValeurFaciale],[Formulaires]![CritereSelection]![filtreValeurFaciale]) AND
T_Monnaie.CodeMatiere=IIf([Formulaires]![CritereSelection]![filtreMatiere]=0,[T_Monnaie].[CodeMatiere],[Formulaires]![CritereSelection]![filtreMatiere]) AND
T_Monnaie.CodeDevise=IIf([Formulaires]![CritereSelection]![filtreDevise]=0,[T_Monnaie].[CodeDevise],[Formulaires]![CritereSelection]![filtreDevise]) 
UNION SELECT " ---Tous--- ",0 FROM T_Pays;
et sur après MAJ , la macro M_ManipulationControle.miseAjour, bien sur que j'ai modifié également.
Une zone de liste se trouve sur le formulaire également comme sur votre base. Elle fonctionne très bien.

Un sous formulaire "SF_Monnaie" (container "CntrMonnaie") est basé sur une requête R_Monnaie ou les champs code ont pour critère "VraiFaux etc..."
Voilà mes soucis enfin :
lorsque je sélection sur un critère "Pays par exemple", si j'ai plusieurs fois le nom "France", et que je sélectionne l'un d'eux, il se place bien dans mon sous formulaire, ce que je souhaite et je pense que vous l'avez devinez, c'est d'avoir tous les enregistrements avec France et qu'ensuite je passe au second critère "par exemple Année" pour affiner ma sélection et ainsi de suite en précisant pouvoir laisser des critères vides.
J'avais totalement modifié la base recherchesmulticritères avec mes besoins et tout fonctionnait parfaitement, alors pourriez vous me dire ou se trouve mon erreur et si vous avez besoin d'infos complémentaires.
Merci pour toutes les infos plus qu'intéressante que je trouve sur le site.