Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2011, 17h00   #1
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 45
Points : 10
Points : 10
Par défaut Critère d'une requete en SQL

Bonjour à tous,
J'ai un soucis sur la rédaction des critères d'une requete SQL pour l'affichage d'une liste de choix.
Le contexte : une table avec 3 colonnes : critere1 ; critere2 ; resultats
Je souhaite remplir une liste de choix en fonction de cette table : si ma variable correspond à critere1, alors j'affiche les résultats correspondants, jusque la ca va. Ce que je souhaiterais également, c'est que si ma variable ne correspond pas à critere1, alors il faut afficher tous les enregistrements dans lesquels critere2 n'est pas nul.
Comment me conseillez vous d'écrire cette requete?
Merci
Diablange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 17h35   #2
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
Bonjour,

Quelque chose comme ça peut-être :
Code sql :
1
2
3
SELECT *
FROM MaTable
WHERE (critere2) IS NOT NULL;
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 17h48   #3
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 45
Points : 10
Points : 10
Merci et cela me convient parfaitement pour ce qui n'est pas dans ma table. Cependant, cela ne résoud pas le probleme, je cherche à faire les 2 : à la fois selectionner les enregistrements lorsque la variable correspond à critere1 et à la fois selectionner les enregistrements pour lesquels critere2 n'est pas nul lorsque la variable ne correspond pas à critere1. Une idée?
Merci
Diablange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 17h53   #4
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
bah tu changes la source de ta liste de choix en fonction de ta variable tout simplement...Ou alors y'a un truk que j'ai pas compris :p
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 18h00   #5
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 45
Points : 10
Points : 10
Non tu n'as pas mal compris, j'essayais juste de le faire avec une seule et unique requete.... pour éviter de mettre du code et 2 requetes quand je ne peux mettre qu'une seule requete. Est ce possible de faire ce que je demande avec une seule requete?
Merci de votre aide
Diablange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 18h04   #6
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
Elle vient d'où ta variable ? Et pour critere1 : t'as plusieurs valeurs possibles ?

EDIT : J'ai beau lire et relire ce que tu as écrit pour essayer de comprendre. Mais quelques points restent obscurs :

1) Je ne comprends pas cette phrase
Citation:
Envoyé par Diablange
Merci et cela me convient parfaitement pour ce qui n'est pas dans ma table.
2)
Citation:
Envoyé par Diablange
je cherche à faire les 2 : à la fois selectionner les enregistrements lorsque la variable correspond à critere1 et à la fois selectionner les enregistrements pour lesquels critere2 n'est pas nul lorsque la variable ne correspond pas à critere1.
Quand tu dis ça je pense à une requête UNION mais du coup je comprends pas ce que tu appelles MaVariable

3)Sinon je pensais à la fonction iif (VraiFaux en FR) que tu peux intégrer dans tes requêtes

4) Ou encore un simple bout de code du genre :
Code :
1
2
3
4
5
If MaVariable = "Ce que tu veux" Then
    Me.MaListe.RecordSource="SELECT Blabla;"
Else
    Me.MaListe.RecordSource="SELECT AutreBlabla;"
End If
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 19h25   #7
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

La requête pourrait ressembler à
Code sql :
1
2
3
4
5
SELECT critere1, critere2, resultats
FROM LaTable
WHERE ((critere1)='Valeur_Variable')
      OR
      (((critere1)<>'Valeur_Variable' OR (critere1) IS NULL) AND ((critere2) IS NOT NULL));

Comme le souligne Paidge, il faut préciser ce que tu entends par variable et le type du champ critere1 (texte, date, nombre entier, nombre décimal, ...).

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h42.


 
 
 
 
Partenaires

Hébergement Web