Probleme avec IIF dans mes requetes access

Résolu/Fermé
metalque89 Messages postés 33 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 18 novembre 2008 - 26 mars 2008 à 14:49
metalque89 Messages postés 33 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 18 novembre 2008 - 28 mars 2008 à 08:05
Bonjour, j'ai un probleme tout a fait illogique a mon sens auquel j'espere que vous pourrez repondre.

J'ai une liste dans laquelle j'affiche les champs de plusieurs tables liees.
J'ai egalement 6 listes deroulantes pour faire des tris sur les enregistrements que j'affiche dans cette liste.
Chaque liste deroulante possede 2 colonnes, la premiere colonne est ma cle primaire (numero auto) et la deuxieme est du texte (ce n'est pas important pour mon probleme). Dans chacune de ces listes deroulante, j'ai une ligne avec 0 dans la premiere colonne avec pour texte "Pas de Selection".

Je veux que lorsque je selectionne une ligne dans ma combobox, mon filtre soit active sur la valeur de la premiere colonne sauf lorsque je selectionne la ligne avec le 0.

Pour ca, j'utilise un IIF([Form]![Cmb_Etat]>0;[Form]![CmbCommerciaux];true)

Cette solution fonctionne uniquement pour le cas vrai, si je selectionne "Pas de Selection", ma liste est vide.
Je planche dessus depuis quelque temps deja et je ne comprends pas quelle est l'erreur car la valeur True utilise seule me fait aucun filtre mais utilise dans le IFF ne fonctionne pas.

J'ai egalement essaye cette solution IIF([Form]![Cmb_Etat]>0;[Form]![CmbCommerciaux];>0) et meme resultat.

Donc j'ai l'impression que chez moi la valeur "Si faux" du IIF ne fonctionne pas.

Quelqu'un a t'il deja eu le meme probleme?
Avez vous une solution a me proposer (sans passer par VBA si possible)?

Merci de votre aide

2 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
27 mars 2008 à 16:31
Plusieurs choses:

Chez moi, le True, même tout seul, ne fonctionne pas. Qu'est ce que c'est censé indiquer à Access? Jamais vu, et Access ne l'accepte pas.

Quand j'ai ce genre de choses à faire, je fais comme ceci:

Like IIf([Form]![Cmb_Etat]>0,[Form]![CmbCommerciaux],"*")

(En SQL ce sont des , et non des ;)

Et Like "*" Access l'interprète comme "toutes les valeurs", alors que je n'avais jamais vu "True". Mais je ne connais pas tout à 100%.
1
metalque89 Messages postés 33 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 18 novembre 2008 2
28 mars 2008 à 08:05
Salut,

Un grand merci tu es mon sauveur ta solution marque du tonnerre de dieu!!!

A mon avis, c'est parce que j'avais oublie le "Like".

Par contre chez moi il me met une erreur si je met des "," a la place des ";" mais du moment que ca marche moi ca me va.
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
27 mars 2008 à 09:14
Ton problème ne m'évoque rien de connu... Où écris tu ton IIF([Form]![Cmb_Etat]>0;[Form]![CmbCommerciaux];true) ???
0
metalque89 Messages postés 33 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 18 novembre 2008 2
27 mars 2008 à 13:04
Salut,
Je l'ecrit dans "criteres" de mon instruction SQL que j'ouvre lorsque je specifie le contenu de ma liste.
Juste pour verifier, la syntaxe de mon IIF est bonne? il ne faut pas mettre de "," a la place des ";" ou de ";" a la fin???
0