SQL avec vraifaux et plusieurs choix :(

Résolu
bibimtl2x Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour, j’ai une basse de donné Access avec :

-une table  TBL-Client  ( je sais très original lol)

-Formulaire : frm_client

Dans ma table il y a  un champs état avec les choix possible :

Nouveau; En attente; Terminé

Dans mon formulaire j’ai fait un menu recherche qui fonctionne très bien avec tous les choix suivant :
 

Toutes  (qui donne toutes les demandes)

Nouveau

En attente

Terminé
 

SQL :Comme VraiFaux([Formulaires]![frm_client]![recherche_etats]<>"toutes";[Formulaires]![frm_client]![recherche_etats];"*")

 
Mais j’ai rajouté une autre option de recherche soit :

 
« Nouveau et en attente »  ( pour qu’on m’affiche seulement les demandes sous état « nouveau » et sous état « En attente »

 
Mais la rien ne marche que dois-je modifier/rajouter pour que tout fonctionne avec mon code SQL :

SQL :

Comme VraiFaux([Formulaires]![frm_client]![recherche_etats]<>"toutes";[Formulaires]![frm_client]![recherche_etats];"*")

j'ai tenté d'imbriquer un autre vraifaux sans succes :(  

Merci!! 

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 

bonjour,

Tu as choisi une technique qui fonctionne dans des cas simples, et est peu flexible.

Essaie d'abord de faire une recherche qui fonctionne uniquement avec « Nouveau et en attente ».  Quand tu auras fait cela, tu comprendras mieux comment combiner avec les autres critères.

0
bibimtl2x Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   1
 

Merci de m'aider, je ne connais pas les SQL direct c'est pour ca que je dois travailer par requet de base..:)

ca, ca marche # 1: 

-comme "Nouveau" ou "en attente"

mais j'arrive pas a  remetre mes autres critaire, jsuet ca , ca marche pas :

comme VraiFaux([Formulaires]![frm_client]![recherche_etats]="Nouveau et en attente";"Nouveau" ou "en attente";"*")

:( 

ma requete est juset sur une table avec 6 champs..

merci

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > bibimtl2x Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 

Il suffit d'afficher la vue SQL pour pouvoir travailler avec la syntaxe SQL.

Vu la logique que tu as choisi d'utiliser, il sera beaucoup plus simple de travailler en SQL.

0
bibimtl2x Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

ah j'ai trtouvé lol :)   ca c'est celui qui fontionne qui manque l'option"

"Nouveau et en attente" qui devrait montrer simultanément ceux sosu etatt "Nouveau" et sous etat : "en attente"

SELECT [TBL-Client].nom_du_client, [TBL-Client].[#_de_client], [TBL-Client].[C/W_ou_carnet], [TBL-Client].État, [TBL-Client].Date_Début, [TBL-Client].[Dat _de_fin]
FROM [TBL-Client]
WHERE ((([TBL-Client].État) Like IIf([Formulaires]![frm_client]![recherche_etats]<>"toutes",[Formulaires]![frm_client]![recherche_etats],"*")));

merci de votre patence :) 

P.s. dsl du delais on ne semble être etre sur le même fuseau horaire moi montreal je viens de terminé ma journée, il est 17h00 :)
 

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > bibimtl2x Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 

Avant d'aller plus loin, adaptons ainsi:

WHERE
[Formulaires]![frm_client]![recherche_etats] = "toutes"
OR
État = [Formulaires]![frm_client]![recherche_etats]

Cela fonctionne-t-il comme la requête précédente?  Nous y ajouterons alors la recherche avec "Nouveau et en attente".

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

In fine, cela donnerait peut-être:

WHERE
[Formulaires]![frm_client]![recherche_etats] = "toutes"
OR
État = [Formulaires]![frm_client]![recherche_etats]
OR
(
   [Formulaires]![frm_client]![recherche_etats] = "Nouveau et en attente"
    AND
    (État = "Nouveau"
     OR
     État = "En attente"
    )
)
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 

Il serait plus clair de travailler sur la requête SQL complète: peux-tu partager la source SQL de la requête?

Pour commencer, change ta formulation existante en:

WHERE
[Formulaires]![frm_client]![recherche_etats] = "toutes"
OR
etat = [Formulaires]![frm_client]![recherche_etats]
0