|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 11 ![]() |
Bonjour à tous
j'ai une requête qui comporte un champ [Date exp] que je veux faire une condition dans critère (CRITÈRE CONDITIONNELLE) càd: lorsque la case à cocher [Date] sur la formulaire =0 donc le critère [Date exp] sera Comme"*" lorsque la case à cocher [Date] sur la formulaire =-1 donc le critère [Date exp] sera >=[Formulaires]![RELEVE1]![dt] Est ce que c possible de faire un critère comme ça ??????? cordialement |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Je ne pense pas qu'on puisse le mettre dans le critère directement mais ceci devrait marcher :
créer un champ calculé : Code sql :
iif([Forms]![RELEVE1]![Date]=false;([Date exp] LIKE "*");([Date exp] >=[Forms]![RELEVE1]![dt])) Ceci est une combinaison d'équations booléenes qui va retourner True/False. Et dans la ligne critère de ce nouveau champ mettre = True (cas où l'un des tes deux critère est vrai selon le choix de sélection). J'ai mis les fonction en anglais mais Acces va te les traduire en français automatiquement. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 11 ![]() |
merci pour votre réponse
j'ai essayé mais avec le code que vous avez me proposer Code sql :
iif([Forms]![RELEVE1]![Date]=false;([Date exp] LIKE "*");([Date exp] >=[Forms]![RELEVE1]![dt]))) la requête me donne les résultat que pour la deuxième critère càd quelque soit [Date exp] cocher ou décocher |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Thomas M Inscription : février 2011 Messages : 38 ![]() |
J'ai testé, chez moi ça marche:
Premier cas, c'est pas coché, alors tu fais Mois>=Mois pour afficher tout, deuxième cas, c'est coché, tu fais Mois>=taDate. Le truc est qu'il faut utiliser le même opérateur avant ta fonction IIf (=, >=, Comme) car Access rajoute automatiquement un Champ=( .. ) devant ta fonction IIf, du coup tu te retrouves avec un: WHERE Champ= (Champ Comme *) ou WHERE CHamp=((Champ >= taDate) Il ne faut pas hésiter à jetter un coup d'oeil au code SQL des requêtes sous Access, qui se permet bien des choses ^^ |
|
|
00
|
|
|
#5 | |
|
Futur Membre du Club
![]() Thomas M Inscription : février 2011 Messages : 38 ![]() |
Je me permet de poster ça ici
Citation:
Pour les champs vides, suffit de rajouter un deuxième critère sur le même champ, dans une autre colonne, en mettant bien le critère ''est null'' sur la ligne en dessous du premier critère pour avoir un OU. ![]() Là tu as les nuls partout. Si tu ne veux les nuls que quand tu coches ta case, mais pas quand tu met le critère >= tadate, alors tu fais une petite modif de la sorte: ![]() Comme ça quand ta CheckBox est cochée, tu as le critère Critère1 OU [Date] est null, et quand la case n'est pas cochée, tu as Critère1 OU 0 est null (ce qui est faux^^). Donc que le Critère1 est actif. Ca fait bricolage mais là comme ça c'est ce qui me vient à l'esprit. |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 11 ![]() |
existe t'il une autre méthode mon requête est assez compliquer
il marche très bien avec le critère du champ [date] mais lorsque m'ajoute la deuxième champ CRITERE 2 il me des résultat fausse ci-joint la base de données formulaire principale LISTE DES ECHEANCES la requête comporte les contrôles suivants: 1/vérification de validation CARTE SUD (CONDITIONNELLE) 2/vérification de validation CARTE SÉCURITÉ (CONDITIONNELLE) 3/vérification de validation CARTE MÉDICAL (CONDITIONNELLE) 4/vérification disponibilité de l'employé 5/filtre par fonction 6/filtre par groupe 7/filtre par choix |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com