Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien de recherche
    Inscrit en
    mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : mai 2019
    Messages : 2
    Points : 3
    Points
    3

    Par défaut Recherche multicritère, Champs date non saisie

    Bonjour,

    Après beaucoup de recherche, je n'ai toujours pas trouver la réponse à mon problème ce pourquoi je me retourne vers votre aide .

    J'ai créer un formulaire de recherche multicritère "F_CONSULT STOCK" (4 critères de recherche), l'idée étant de pouvoir filtrer les enregistrements en fonction des besoins, les critères ne sont donc pas obligatoire.

    J'ai donc paramétré ma requête "R_STOCK_CONSULT" pour mes trois listes déroulantes sans difficultés :

    exemple : Comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux([Formulaires]![F_CONSULT STOCK]![Rechnumnat].[ListIndex]=-1;"*" & [Formulaires]![F_CONSULT STOCK]![Rechnumnat] & "*";[Formulaires]![F_CONSULT STOCK]![Rechnumnat])
    Mon soucis arrive donc, il s'agit du filtre date (Rechdate). En effet, certains de mes enregistrements n'ont pas de date de saisie.
    Ce que je souhaite :

    - Lorsque mon critère Rechdate est renseigné = filtre en fonction de la valeur
    - Lorsque mon critère Rechdate n'est pas renseigné = aucun filtre sur la date (soit mes champs vides et non vides)

    Le seul paramétrage que j'ai trouvé se rapprochant le plus de ce que je souhaite obtenir est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux(EstNull([Formulaires]![F_CONSULT STOCK]![Rechdate]);[T_STOCK]![DATE_CONGELATION];[Formulaires]![F_CONSULT STOCK]![Rechdate])
    mais ce dernier ne m'affiche pas les enregistrements ayant une date de congélation vide lorsque Rechdate n'est pas renseigné

    Si dessous ma requête en SQL si besoin :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_STOCK.N°, T_STOCK.N°_NAT_BELIER, T_STOCK.N°_BELIER, T_STOCK.RACE, T_STOCK.N°_OS, T_STOCK.DATE_CONGELATION, T_STOCK.TYPE_ECHANTILLON, T_STOCK.N°_EJACULAT, T_STOCK.CANISTER, T_STOCK.HAUTEUR, T_STOCK.NB_PAILLETTES, T_STOCK.COULEUR_PAILLETTE, T_STOCK.COULEUR_VISOTUBE, T_STOCK.[COULEUR JONC], T_STOCK.DATE_ARRIVEE
    FROM T_STOCK
    WHERE (((T_STOCK.N°_NAT_BELIER) Like IIf([Formulaires]![F_CONSULT STOCK]![Rechnumnat].[ListIndex]=-1,"*" & [Formulaires]![F_CONSULT STOCK]![Rechnumnat] & "*",[Formulaires]![F_CONSULT STOCK]![Rechnumnat])) AND ((T_STOCK.N°_BELIER) Like IIf([Formulaires]![F_CONSULT STOCK]![RechnumW].[ListIndex]=-1,"*" & [Formulaires]![F_CONSULT STOCK]![RechnumW] & "*",[Formulaires]![F_CONSULT STOCK]![RechnumW])) AND ((T_STOCK.RACE) Like IIf([Formulaires]![F_CONSULT STOCK]![RechTG].[ListIndex]=-1,"*" & [Formulaires]![F_CONSULT STOCK]![RechTG] & "*",[Formulaires]![F_CONSULT STOCK]![RechTG])) AND ((T_STOCK.DATE_CONGELATION)=IIf(IsNull([Formulaires]![F_CONSULT STOCK]![Rechdate]),[T_STOCK]![DATE_CONGELATION],[Formulaires]![F_CONSULT STOCK]![Rechdate])));

    Je vous remercie d'avance pour votre aide,

    Dod

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    4 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 4 368
    Points : 7 468
    Points
    7 468

    Par défaut

    bonsoir,
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AND
    (Nz(T_STOCK!DATE_CONGELATION,#01/01/1900#)=IIf(IsNull([Formulaires]![F_CONSULT STOCK]![Rechdate]),Nz([T_STOCK]![DATE_CONGELATION],#01/01/1900#),[Formulaires]![F_CONSULT STOCK]![Rechdate])));
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien de recherche
    Inscrit en
    mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : mai 2019
    Messages : 2
    Points : 3
    Points
    3

    Par défaut

    En grand merci pour cette réponse, ça fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche sur champ date
    Par wajdisoft dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 03/08/2009, 10h55
  2. Réponses: 1
    Dernier message: 03/10/2008, 21h34
  3. recherche multicritère - intervalle dates
    Par melitoriva dans le forum IHM
    Réponses: 2
    Dernier message: 03/01/2008, 15h11
  4. [Validator] champ date non obligatoire
    Par anjiniaina dans le forum Struts 1
    Réponses: 6
    Dernier message: 23/03/2007, 09h50
  5. Recherche multicritère - champs num
    Par DuDe92 dans le forum Access
    Réponses: 6
    Dernier message: 08/02/2007, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo