SQL avec vraifaux et plusieurs choix :(

Résolu/Fermé
bibimtl2x Messages postés 50 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 19 février 2024 - Modifié le 31 oct. 2022 à 22:59
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 5 nov. 2022 à 14:28

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!! 

A voir également:

2 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
1 nov. 2022 à 09:59

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 50 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 19 février 2024 1
1 nov. 2022 à 23:36

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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > bibimtl2x Messages postés 50 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 19 février 2024
2 nov. 2022 à 10:07

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 50 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 19 février 2024 1 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
2 nov. 2022 à 22:14

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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > bibimtl2x Messages postés 50 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 19 février 2024
3 nov. 2022 à 10:49

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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
3 nov. 2022 à 11:49

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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
1 nov. 2022 à 10:24

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