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 :

Requête sélection autorisant les champs vides


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Requête sélection autorisant les champs vides
    Bonjour à tous !
    Je travaille depuis peu sur une base de données Access et je n'y connais rien au langage SQL.
    Je veux créer une requête qui me permettra de rechercher dans plusieurs champs deux expressions simultanément. Par exemple, je veux chercher tous les enregistrements contenant "programme" ET "ordinateur".

    J'ai donc créé une première requête, ma première expression, que j'ai imbriquée dans une seconde requête.
    A part ce qu'il y a à l'intérieur des [..], mes deux requêtes sont identiques. Le code SQL que j'ai est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Recherche par mots-clés].Dossier, [Recherche par mots-clés].Titre, [Recherche par mots-clés].Auteur, [Recherche par mots-clés].[Mots clés]
    FROM [Recherche par mots-clés]
    WHERE ((([Recherche par mots-clés].Dossier) Like "*"+[Ainsi que]+"*")) OR ((([Recherche par mots-clés].Titre) Like "*"+[Ainsi que]+"*")) OR ((([Recherche par mots-clés].Auteur) Like "*"+[Ainsi que]+"*")) OR ((([Recherche par mots-clés].[Mots clés]) Like "*"+[Ainsi que]+"*"));
    Sachant que ma première sous-requête est "Recherche par mots-clés", et que Dossier, Titre, Auteur et Mots-clés sont les champs dans lesquels je souhaite chercher.

    Jusque la, ça marche. Le problème, c'est que lorsqu'on laisse le [Ainsi que] vide, plus rien ne fonctionne. Or, je voudrais que l'on puisse chercher deux expressions amis aussi une seule. Est il possible de rajouter une ligen de code de type "if [Ainsi que]=Null, alors [Ainsi que]=" " (entre les guillemets un espace), ou quelque chose du genre ?

    J'espère que c'est à peu près compréhensible, désolée pour la longueur !

    Merci

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Meulhize bonjour,

    Je te conseillerai de créer ta requête en code vba (tu pourras ajouter les filtres comme tu veux). Ainsi un champ vide ou non renseigné ne sera pas inclu dans la condition where.

    Une petite lecture ici te permettra de manipuler les requêtes par code :

    http://access.developpez.com/faq/?page=Requetes

    Un sujet identique

    http://www.developpez.net/forums/d10...n-requete-vba/

    JimBoLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,

    Citation Envoyé par Meuhlize Voir le message
    Est il possible de rajouter une ligen de code de type "if [Ainsi que]=Null, alors [Ainsi que]=" " (entre les guillemets un espace), ou quelque chose du genre ?

    Oui c'est tout à fait possible grâce à la fonction IIF(maCondition, ValeurSiVrai, ValeurSiFaux)

    Voici un exemple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM maTable
    WHERE monChamps = IIf(IsNull([Ainsi que]),[monChamps],[Ainsi que]);
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    paidge bonsoir,

    Merci pour ta réponse, tu donnes une autre alternative à Meuhlize.

    Donc pour conclure, Meuhlize soit la condition iif proposée par paidge soit ma solution de constitution de ta requête à la volée.

    JimboLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

Discussions similaires

  1. [Oracle] Ignorer les champs vides dans une requête sql
    Par roswina dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/05/2015, 09h29
  2. [MySQL] Résultat requête au format JSON, afficher que les champs vide ou null
    Par ilanb dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/02/2014, 14h00
  3. problème de sélection avec les champs vides
    Par danathane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/08/2007, 16h45
  4. Réponses: 3
    Dernier message: 27/04/2007, 09h56
  5. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40

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