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 :
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.
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]+"*"));
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![]()
Partager