Bonjour à tous,
J'ai un petit soucis (mais qui a tendance à me donner mal au crâne...) dans la création d'une base de données de métrologie. Je vous serai extrêmement reconnaissant si vous pouviez m'aider.
J'ai créé une requête de selection à partir d'une table nommée Instruments". Cette table comprend beaucoup de champ dont "date_mis_serev_instr" (pour date de mise en service de l'instrument ).
J'aimerai que l'utilisateur rentre un paramètre de sélection et que la requête ne renvoi que les enregistrements concernés.
Normalement j'aurais inscrit sur la ligne "Critères" ceci : [Date de mise en service] (pour le champ cité plus haut).
La est le problème :
2 facteurs entre en compte : c'est une selection multi-critère et ce champ n'est pas obligatoirement rempli (impossible de le remplir pour certains instruments)
J'avais donc essayer la formule suivante dans critère :
La formule ne fait rien quand le paramètre est spécifié mais si le champ est vide alors il le remplace par la valeur du champ correspondant (je sais pas si je suis clair).
Code : Sélectionner tout - Visualiser dans une fenêtre à part nz([Date de mise en service de l'instrument];[instrument].[date_mis_serv_instr])
Seulement ça ne resoud pas mon problème dans le cas où le champ est vide
Donc si vous pouviez m'aider ce sera trop bien
Voila en espérant que je suis clair
P.S ci joint le code SQL de la requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Instrument.code_instr, Instrument.num_serie_instr, Instrument.desi_instr, Instrument.resol_instr, Instrument.echelle_inf_instr, Instrument.echelle_sup_instr, Instrument.period_instr, Instrument.date_achat_instr, Instrument.date_rebut_instr, Instrument.date_mis_serv_instr, Instrument.statut_instr FROM Instrument WHERE (((Instrument.code_instr) Like "*" & [Matricule de l'instrument] & "*") AND ((Instrument.num_serie_instr) Like "*" & [N° série de l'instrument] & "*") AND ((Instrument.desi_instr) Like "*" & [Désignation de l'instrument] & "*") AND ((Instrument.resol_instr)=nz([Résolution recherchée],[Instrument].[resol_instr])) AND ((Instrument.echelle_inf_instr)=nz([borne inf échelle],[Instrument].[echelle_inf_instr])) AND ((Instrument.echelle_sup_instr)=nz([borne sup échelle],[instrument].[echelle_sup_instr])) AND ((Instrument.period_instr)=nz([Période d'étalonnage],[instrument].[period_instr])) AND ((Instrument.date_achat_instr)=nz([Date d'achat de l'instrument],[Instrument].[date_achat_instr])) AND ((Instrument.date_rebut_instr)=nz([Date de rebut de l'instrument],[instrument].[date_rebut_instr])) AND ((Instrument.date_mis_serv_instr)=nz([Date de mise en service de l'instrument],[instrument].[date_mis_serv_instr])) AND ((Instrument.statut_instr)=nz([Statut de l'instrument],[Instrument].[statut_instr])));
Partager