[Access] - Probleme de critere conditionnel et champs nuls

- Probleme de critere conditionnel et champs nuls [Access] - SQL/NoSQL - Programmation

Marsh Posté le 29-07-2005 à 09:37:30    

Bonjour a tous ! :hello:  
 
En tant que nouveau membre (c'est mon premier poste :) ), je tiens tout d'abord a remercier tout ceux qui repondent aux problemes poses, qui m'ont parfois bien aides.
 
 
Voila mon probleme  :pt1cable: :
 
 
J'ai une table qui ressemble a ceci :
 
T_Client
        ClientNR        ClientName        Poste
=====================================================
        1                Bob              Ouvrier
        2                Marcel
        3                Roger            Ingenieur
        4                Gerard           Ouvrier
        5                Michel
        6                Bernard          Directeur
 
 
Je voudrais, a l'aide d'une requete, faire un tri dans cette table. J'ai pour cela une variable "Pst" (qui vient d'un autre formulaire, mais ce n'est pas la question) et je fais une comparaison comme suit :
 
Select ClientNR, ClientName from T_Client where Poste Like IIF (Pst<>0,Pst,"*" )
 
En gros, je selectionne deux colonnes dans ma table T_Client, si "Pst" a une valeur differente de 0 alors je recherche tous les clients qui ont ce poste, sinon, j'affiche tous les clients.
 
Le probleme vient de cette derniere selection (Tous les clients): ceux dont le poste n'est pas defini (champs vide donc) ne sont pas affiches. Or, je souhaiterai les voir aussi, mais je n'y arrive pas... :sweat:  
 
Existe-t-il une solution ??
 
Merci d'avance
 
.: FabTazZ :.
 
P.S.: Desole pour le manque d'accent dans ce poste mais j'ecris avec un clavier qwerty

Reply

Marsh Posté le 29-07-2005 à 09:37:30   

Reply

Marsh Posté le 29-07-2005 à 09:51:08    

Pourquoi pas :
 
Select ClientNR, ClientName from T_Client where IIF(Pst<>0,Poste Like Pst,True)  
 
Je pense que ça devrait fonctionner ?

Reply

Marsh Posté le 29-07-2005 à 10:01:42    

Ouah ! Ca fait deux jours que je me creuse la tete sur ce probleme et en moins de 20 minutes on me propose une reponse !  
 
Merci, je test de suite :)

Reply

Marsh Posté le 29-07-2005 à 10:16:35    

:love:  
 
Ca y est, apres quelques petites adaptations (je n'avais pas mis les noms de variables entiers pour simplifier un peu) ta solution fonctionne a merveille ! :wahoo:  
 
Merci beaucoup kiwithereturn ! Tu me retires la une fier chandelle du pied !
 
Bon j'y retourne, j'ai encore du pain sur la manche :p


Message édité par FabTazZ le 29-07-2005 à 10:18:15
Reply

Marsh Posté le 29-07-2005 à 12:17:28    

pourquoi pas plus simple :
 
where (pst <> 0 and poste like pst) or pst = 0

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed