IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Requêtes et SQL. Discussion :

SQL Filtrer ou ne pas filtrer


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut SQL Filtrer ou ne pas filtrer
    Bonjour à tous,

    je seche un peu depuis hier. J'ai 2 requete a priori "simple" qui me bloque.

    Je vous explique, je cherche a faire une fonction de filtre/recherche dans une zone de liste.

    Dans mon formulaire principale j'ai un champs appelé "secteur" (liste déroulante) et un autre appelé "serie" champs texte classique.

    J'ai ensuite une zone de liste animé via la requete suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT BDD_Outillage.N°, BDD_Outillage.Secteur, BDD_Outillage.Type, BDD_Outillage.Description, BDD_Outillage.[Numero de série], BDD_Outillage.[Dernier étalonnage], BDD_Outillage.[Prochain étalonnage]
    FROM BDD_Outillage
    WHERE (((BDD_Outillage.Secteur)=IIf([Formulaires]![FOR_MAIN]![secteur]="--Tous--",[BDD_Outillage].[Secteur],[Formulaires]![FOR_MAIN]![secteur])) AND ((BDD_Outillage.[Numero de série]) Like IIf([Formulaires]![FOR_MAIN]![serie]="","*" & [BDD_Outillage]![Numero de série] & "*",[Formulaires]![FOR_MAIN]![serie])));
    Mon but, est de trier dans ma zone de liste en fonction de mes deux champs vue précedemment. Cela fonctionne "a peu pret"... Je m'explique.

    D'une, si dans un enregistrement le champ secteur est vide, meme en choisissant "--Tous--", ce dernier ne ressort pas. Alors que la fonction --Tous-- fonctionne bien pour les autres secteurs.

    Et de deux, si je laisse le champs "serie" vide, plus rien ne ressort. or vous l'aurez compris, ce que je souhaite, c'est que quand le champ est vide, ne rien filtrer.

    Merci bcp pour votre aide, car la je bloque complet.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    Bonjour,

    le problème provient du fait que tu ne gères pas les NULL. Il faut donc utiliser la fonction NZ() qui transforme un NULL en une chaine vide ("") :

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT BDD_Outillage.N°, BDD_Outillage.Secteur, BDD_Outillage.Type, BDD_Outillage.Description, BDD_Outillage.[Numero de série], BDD_Outillage.[Dernier étalonnage], BDD_Outillage.[Prochain étalonnage]
    FROM BDD_Outillage
    WHERE ((NZ(BDD_Outillage.Secteur)=IIf([Formulaires]![FOR_MAIN]![secteur]="--Tous--",NZ([BDD_Outillage].[Secteur]),NZ([Formulaires]![FOR_MAIN]![secteur])) AND (NZ(BDD_Outillage.[Numero de série]) Like IIf(NZ([Formulaires]![FOR_MAIN]![serie])="","*" & NZ([BDD_Outillage]![Numero de série]) & "*",NZ([Formulaires]![FOR_MAIN]![serie])));
    Ca devrait le faire

    Philippe

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Super !

    Merci c'étais ce qu'il me fallait.

    Le code en l'état ne fonctionne pas, mais effectivement, l'utilisation de la fonction nz a résolu mon soucis.

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

Discussions similaires

  1. Sql Server Probleme Truncate / Pas Arrondi
    Par Nathan_2 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/05/2006, 20h09
  2. Réponses: 3
    Dernier message: 05/04/2006, 16h40
  3. Acceder a une base SQL qui n'est pas sur le meme serveur
    Par skyo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/01/2006, 11h58
  4. Instruction SQL dans un bouton pour filtrer info formulaire
    Par beegees dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 05/09/2005, 14h26
  5. REquete sans erreur sql qui n'agit pas ........
    Par Skam dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/02/2005, 14h41

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