Bonjour tout le monde
Tout d'abord je tiens à vous féliciter pour ce site, en particulier la section
entraide. Ca fait quelques jours que je bidouille sur access et j'ai deja trouvé
pas mal de réponses à mes questions ici.
Alors voici mon problème:
Jai une base de données assez dense comportant de nombreuses tables et requetes
mais c est un petit formulaire de rien du tout qui me bloque. Ce formulaire
simple permet d'entrer dans un champ la valeur de l'année et dans un autre jai
une liste déroulante qui permet de selectionner un pays. Ensuite lorsque
j'appuie sur mon beau bouton, ca lance une requete et ca ouvrir l'état avec les
informations séléctionnées.
Ca marche très bien. J'entend un ouf de soulagement des modos qui n'aurons pas
à expliquer pour la cent millieme fois comment marche une liste déroulante :D
Cest maintenant que ca se corse, jai ajouté une case à cocher: voir tous les
pays. Je veux que si elle est vrai, l'état affiche tous les pays en fonction de
l'année. J'ai créé une requete bis sans le critère pays et un état bis qui
l'utilise. Cest lorsque j'appuie sur le bouton que ca choisit la requete 1 ou
bis en fonction de la case à cocher.
Ca aussi ca marche impec! ba c est quoi le soucis alors?
Le soucis c est que jai 25 autres petits formulaires auquels je voudrais
ajouter cette option et que recréer une requete et un etat a chaque fois cest
long et ca surcharge la base.
Donc voila j'aimerais savoir si je ne peux pas utiliser la meme requete pour
les deux (et donc aussi le meme état), avec un critere pays a vérifier que si la
case à cocher=Vrai
Le tout sans passer par du vba si possible et je suis sous access97... lol
Si vous etes arrivés jusque la, deja merci ^^ et j'attend avec impatience vos
réponses,
bonne journée, draz
Bonjour tout le monde
Tout d'abord je tiens à vous féliciter pour ce site, en particulier la section
entraide. Ca fait quelques jours que je bidouille sur access et j'ai deja trouvé
pas mal de réponses à mes questions ici.
Alors voici mon problème:
Jai une base de données assez dense comportant de nombreuses tables et requetes
mais c est un petit formulaire de rien du tout qui me bloque. Ce formulaire
simple permet d'entrer dans un champ la valeur de l'année et dans un autre jai
une liste déroulante qui permet de selectionner un pays. Ensuite lorsque
j'appuie sur mon beau bouton, ca lance une requete et ca ouvrir l'état avec les
informations séléctionnées.
Ca marche très bien. J'entend un ouf de soulagement des modos qui n'aurons pas
à expliquer pour la cent millieme fois comment marche une liste déroulante :D
Cest maintenant que ca se corse, jai ajouté une case à cocher: voir tous les
pays. Je veux que si elle est vrai, l'état affiche tous les pays en fonction de
l'année. J'ai créé une requete bis sans le critère pays et un état bis qui
l'utilise. Cest lorsque j'appuie sur le bouton que ca choisit la requete 1 ou
bis en fonction de la case à cocher.
Ca aussi ca marche impec! ba c est quoi le soucis alors?
Le soucis c est que jai 25 autres petits formulaires auquels je voudrais
ajouter cette option et que recréer une requete et un etat a chaque fois cest
long et ca surcharge la base.
Donc voila j'aimerais savoir si je ne peux pas utiliser la meme requete pour
les deux (et donc aussi le meme état), avec un critere pays a vérifier que si la
case à cocher=Vrai
Le tout sans passer par du vba si possible et je suis sous access97... lol
Si vous etes arrivés jusque la, deja merci ^^ et j'attend avec impatience vos
réponses,
bonne journée, draz
Bonjour tout le monde
Tout d'abord je tiens à vous féliciter pour ce site, en particulier la section
entraide. Ca fait quelques jours que je bidouille sur access et j'ai deja trouvé
pas mal de réponses à mes questions ici.
Alors voici mon problème:
Jai une base de données assez dense comportant de nombreuses tables et requetes
mais c est un petit formulaire de rien du tout qui me bloque. Ce formulaire
simple permet d'entrer dans un champ la valeur de l'année et dans un autre jai
une liste déroulante qui permet de selectionner un pays. Ensuite lorsque
j'appuie sur mon beau bouton, ca lance une requete et ca ouvrir l'état avec les
informations séléctionnées.
Ca marche très bien. J'entend un ouf de soulagement des modos qui n'aurons pas
à expliquer pour la cent millieme fois comment marche une liste déroulante :D
Cest maintenant que ca se corse, jai ajouté une case à cocher: voir tous les
pays. Je veux que si elle est vrai, l'état affiche tous les pays en fonction de
l'année. J'ai créé une requete bis sans le critère pays et un état bis qui
l'utilise. Cest lorsque j'appuie sur le bouton que ca choisit la requete 1 ou
bis en fonction de la case à cocher.
Ca aussi ca marche impec! ba c est quoi le soucis alors?
Le soucis c est que jai 25 autres petits formulaires auquels je voudrais
ajouter cette option et que recréer une requete et un etat a chaque fois cest
long et ca surcharge la base.
Donc voila j'aimerais savoir si je ne peux pas utiliser la meme requete pour
les deux (et donc aussi le meme état), avec un critere pays a vérifier que si la
case à cocher=Vrai
Le tout sans passer par du vba si possible et je suis sous access97... lol
Si vous etes arrivés jusque la, deja merci ^^ et j'attend avec impatience vos
réponses,
bonne journée, draz
Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du texte ou à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du texte ou à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du texte ou à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
tu fais select Nom_pays from matable union select " <Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
liste.
@+
CAIRIS a écrit :
Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
tu fais select Nom_pays from matable union select " <Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
liste.
@+
CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
tu fais select Nom_pays from matable union select " <Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
liste.
@+
Fabien a écrit le 09/09/2008 à 14h38 :CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le0 est à mettre entre guillemets si ton champ Pays est du texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
tu fais select Nom_pays from matable union select " <Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
liste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi iff([FORMS]![F 238 : Résultat
délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par
salon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste déroulante et
[Coche0] la case a cocher. Lorsque je lance la requete un message derreur me dit
que l'expression iif n'est pas définie. J'ai fait quelque chose de travers?
Ta solution CAIRIS est intéressant mais on me demande de garder l'option case a
cocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0] > Vrai;0; [FORMS]![F 238 : Résultat délégation par salon AC]![code0])
ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais pas
pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous les
pays) le critere devient zéro ce qui ne correspond a aucun pays. Il faudrait que
lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne marche pas ^^)
si vous avez des idées je suis prenneur :)
++ draz
Fabien a écrit le 09/09/2008 à 14h38 :
CAIRIS a écrit :
Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
tu fais select Nom_pays from matable union select " <Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
liste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi iff([FORMS]![F 238 : Résultat
délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par
salon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste déroulante et
[Coche0] la case a cocher. Lorsque je lance la requete un message derreur me dit
que l'expression iif n'est pas définie. J'ai fait quelque chose de travers?
Ta solution CAIRIS est intéressant mais on me demande de garder l'option case a
cocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0] > Vrai;0; [FORMS]![F 238 : Résultat délégation par salon AC]![code0])
ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais pas
pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous les
pays) le critere devient zéro ce qui ne correspond a aucun pays. Il faudrait que
lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne marche pas ^^)
si vous avez des idées je suis prenneur :)
++ draz
Fabien a écrit le 09/09/2008 à 14h38 :CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le0 est à mettre entre guillemets si ton champ Pays est du texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
tu fais select Nom_pays from matable union select " <Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
liste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi iff([FORMS]![F 238 : Résultat
délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par
salon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste déroulante et
[Coche0] la case a cocher. Lorsque je lance la requete un message derreur me dit
que l'expression iif n'est pas définie. J'ai fait quelque chose de travers?
Ta solution CAIRIS est intéressant mais on me demande de garder l'option case a
cocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0] > Vrai;0; [FORMS]![F 238 : Résultat délégation par salon AC]![code0])
ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais pas
pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous les
pays) le critere devient zéro ce qui ne correspond a aucun pays. Il faudrait que
lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne marche pas ^^)
si vous avez des idées je suis prenneur :)
++ draz
drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
> iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
> iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
>> tu fais select Nom_pays from matable union select " <Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous les
> pays) le critere devient zéro ce qui ne correspond a aucun pays. Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0 => on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
> iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
> iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
>> tu fais select Nom_pays from matable union select " <Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous les
> pays) le critere devient zéro ce qui ne correspond a aucun pays. Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0 => on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
> iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
> iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de ta liste
>> tu fais select Nom_pays from matable union select " <Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous les
> pays) le critere devient zéro ce qui ne correspond a aucun pays. Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0 => on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te
suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du
texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
>> tu fais select Nom_pays from matable union select "
<Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste
déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
> pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:
drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te
suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du
texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
>> tu fais select Nom_pays from matable union select "
<Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste
déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
> pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te
suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du
texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
>> tu fais select Nom_pays from matable union select "
<Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste
déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
> pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
CAIRIS a écrit le 09/09/2008 à 18h48 :Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :Fabien a écrit le 09/09/2008 à 14h38 :CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te
suffiront si tufiltres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le0 est à mettre entre guillemets si ton champ Pays est du
texte ouà 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat
tu n'asplus qu'a
créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta listetu fais select Nom_pays from matable union select "
<Tous>" asNom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête deliste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultatdélégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation parsalon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste
déroulante et[Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me ditque l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case acocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
paspour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
lespays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait quelorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)si vous avez des idées je suis prenneur :)
++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Bonjour le compagnie
Il fait super moche ici a paris mais je sens qu'on va y arriver! :)
Fabien, c est exactement ce que je veux faire mais j'aimerais éviter de passer
par le vba. Ca serait dingue que je puisse pas le faire direct dans le requete.
Catherine avec ta méthode ca me refait la meme chose qu'hier avec le VraiFaux.
Et vous avez raison javais rater une lettre hier. En mettant ca dans le critere:
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
ca me filtre bien par pays quand cocher0úux mais lorsque cocher0=Vrai (ce qui
correspond a -1 si jai bien compris) mon état est vide :(
Dans l'expression jai mis:
iif([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0]=-1;0;***)
jai testé en remplacant *** par : [code délégation] ou [FORMS]![F 238 :
Résultat délégation par salon AC]![code0] ect... mais rien a faire...
Bref voila ca me stresse!
Je crois que jy arriverai pas tant que j'aurai pas compris a quoi sert
l'expression. Quand est ce que je l'utilise? J'ai mon critère conditionnel pour
le champ [code délégation] mais il n'utilise jamais expr1? Ou alors expr1
servirai pour afficher dans l'état mais le code délégation c'est "juste" la clée
primaire de ma table délégation, je l'utilise seulement comme filtre pas pour
l'afficher. Bref je nage complétement la.
Je vous remercie de vous intéresser à mon cas, a bientot :)
CAIRIS a écrit le 09/09/2008 à 18h48 :
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:
drazou a écrit :
Fabien a écrit le 09/09/2008 à 14h38 :
CAIRIS a écrit :
Bonjour
Une seule requête et de ce fait un seul état te
suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du
texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
tu fais select Nom_pays from matable union select "
<Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
liste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
salon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste
déroulante et
[Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
cocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
si vous avez des idées je suis prenneur :)
++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Bonjour le compagnie
Il fait super moche ici a paris mais je sens qu'on va y arriver! :)
Fabien, c est exactement ce que je veux faire mais j'aimerais éviter de passer
par le vba. Ca serait dingue que je puisse pas le faire direct dans le requete.
Catherine avec ta méthode ca me refait la meme chose qu'hier avec le VraiFaux.
Et vous avez raison javais rater une lettre hier. En mettant ca dans le critere:
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
ca me filtre bien par pays quand cocher0úux mais lorsque cocher0=Vrai (ce qui
correspond a -1 si jai bien compris) mon état est vide :(
Dans l'expression jai mis:
iif([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0]=-1;0;***)
jai testé en remplacant *** par : [code délégation] ou [FORMS]![F 238 :
Résultat délégation par salon AC]![code0] ect... mais rien a faire...
Bref voila ca me stresse!
Je crois que jy arriverai pas tant que j'aurai pas compris a quoi sert
l'expression. Quand est ce que je l'utilise? J'ai mon critère conditionnel pour
le champ [code délégation] mais il n'utilise jamais expr1? Ou alors expr1
servirai pour afficher dans l'état mais le code délégation c'est "juste" la clée
primaire de ma table délégation, je l'utilise seulement comme filtre pas pour
l'afficher. Bref je nage complétement la.
Je vous remercie de vous intéresser à mon cas, a bientot :)
CAIRIS a écrit le 09/09/2008 à 18h48 :Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :Fabien a écrit le 09/09/2008 à 14h38 :CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te
suffiront si tufiltres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le0 est à mettre entre guillemets si ton champ Pays est du
texte ouà 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat
tu n'asplus qu'a
créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta listetu fais select Nom_pays from matable union select "
<Tous>" asNom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête deliste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultatdélégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation parsalon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste
déroulante et[Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me ditque l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case acocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
paspour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
lespays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait quelorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)si vous avez des idées je suis prenneur :)
++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Bonjour le compagnie
Il fait super moche ici a paris mais je sens qu'on va y arriver! :)
Fabien, c est exactement ce que je veux faire mais j'aimerais éviter de passer
par le vba. Ca serait dingue que je puisse pas le faire direct dans le requete.
Catherine avec ta méthode ca me refait la meme chose qu'hier avec le VraiFaux.
Et vous avez raison javais rater une lettre hier. En mettant ca dans le critere:
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat délégation par salon AC]![code0])
ca me filtre bien par pays quand cocher0úux mais lorsque cocher0=Vrai (ce qui
correspond a -1 si jai bien compris) mon état est vide :(
Dans l'expression jai mis:
iif([FORMS]![F 238 : Résultat délégation par salon AC]![Cocher0]=-1;0;***)
jai testé en remplacant *** par : [code délégation] ou [FORMS]![F 238 :
Résultat délégation par salon AC]![code0] ect... mais rien a faire...
Bref voila ca me stresse!
Je crois que jy arriverai pas tant que j'aurai pas compris a quoi sert
l'expression. Quand est ce que je l'utilise? J'ai mon critère conditionnel pour
le champ [code délégation] mais il n'utilise jamais expr1? Ou alors expr1
servirai pour afficher dans l'état mais le code délégation c'est "juste" la clée
primaire de ma table délégation, je l'utilise seulement comme filtre pas pour
l'afficher. Bref je nage complétement la.
Je vous remercie de vous intéresser à mon cas, a bientot :)
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te
suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du
texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
>> tu fais select Nom_pays from matable union select "
<Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste
déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
> pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:
drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te
suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du
texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
>> tu fais select Nom_pays from matable union select "
<Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste
déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
> pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :
> Fabien a écrit le 09/09/2008 à 14h38 :
>> CAIRIS a écrit :
>>> Bonjour
>>>
>>> Une seule requête et de ce fait un seul état te
suffiront si tu
>>> filtres ta
>>> requête comme suit :
>>> dans un nouveau champ, tu saisis une formule du type :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
>>> 0 est à mettre entre guillemets si ton champ Pays est du
texte ou
>>> à 0 si
>>> c'est du numérique
>>>
>>> et sur la ligne Critère, tu saisis :
>>>
>>>
>
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
>>>
>> salut
>> Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
>> selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
>> plus qu'a
>> créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
>> Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
>> tu fais select Nom_pays from matable union select "
<Tous>" as
>> Nom_pays
>> from matable order by nom_pays
>> En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
>> liste.
>> @+
> Rebonjour;
>
> Ca ne marche pas :(
> J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
>
> Voila ce que jai rajouté dans ma requete:
> _dans une nouvelle colonne de type expression:
> Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
> AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
> et dans le critere de selection des pays:
> "Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
> délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
> salon AC]![code0])
>
> [code0] correspond au numéro du pays renvoyé par la liste
déroulante et
> [Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
> que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
>
>
> Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
> cocher.
>
> En continuant de chercher je suis tombé sur la fonction VraiFaux.
> En mettant dans le critere de selection de pays:
> =VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
>
> ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
> pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
> pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
> lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
>
> si vous avez des idées je suis prenneur :)
> ++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
CAIRIS a écrit le 09/09/2008 à 18h48 :Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :Fabien a écrit le 09/09/2008 à 14h38 :CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te
suffiront si tufiltres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le0 est à mettre entre guillemets si ton champ Pays est du
texte ouà 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat
tu n'asplus qu'a
créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta listetu fais select Nom_pays from matable union select "
<Tous>" asNom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête deliste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultatdélégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation parsalon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste
déroulante et[Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me ditque l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case acocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
paspour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
lespays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait quelorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)si vous avez des idées je suis prenneur :)
++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Hello
C'est encore moi :)
ca y est ca marche!!! yataaaaaaaaaa
J'ai trouvé la réponse de Fabien ici:
http://www.niouzes.org/microsoft-public-access/291662-soucis-access-critere-conditionnel-sur-case-cocher.html
Ce site reprend les posts de votre site mais sans passer par le controle modo,
alors ca va plus vite :p
Créer une expression de test a part marche nickel
jai mis: iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;Vrai;iif([FORMS]![F 238 : Résultat délégation par salon
AC]![code0]=[code délégation];Vrai))
Merci beaucoup a vous deux pour la gentillesse et le temps passé. Je vais
pouvoir poursuivre mes aventures sur access.
A bientot
CAIRIS a écrit le 09/09/2008 à 18h48 :
Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:
drazou a écrit :
Fabien a écrit le 09/09/2008 à 14h38 :
CAIRIS a écrit :
Bonjour
Une seule requête et de ce fait un seul état te
suffiront si tu
filtres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le
0 est à mettre entre guillemets si ton champ Pays est du
texte ou
à 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....
salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat
tu n'as
plus qu'a
créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.
Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta liste
tu fais select Nom_pays from matable union select "
<Tous>" as
Nom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête de
liste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salon
AC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultat
délégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation par
salon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste
déroulante et
[Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me dit
que l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case a
cocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])
ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
pas
pour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
les
pays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait que
lorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)
si vous avez des idées je suis prenneur :)
++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Hello
C'est encore moi :)
ca y est ca marche!!! yataaaaaaaaaa
J'ai trouvé la réponse de Fabien ici:
http://www.niouzes.org/microsoft-public-access/291662-soucis-access-critere-conditionnel-sur-case-cocher.html
Ce site reprend les posts de votre site mais sans passer par le controle modo,
alors ca va plus vite :p
Créer une expression de test a part marche nickel
jai mis: iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;Vrai;iif([FORMS]![F 238 : Résultat délégation par salon
AC]![code0]=[code délégation];Vrai))
Merci beaucoup a vous deux pour la gentillesse et le temps passé. Je vais
pouvoir poursuivre mes aventures sur access.
A bientot
CAIRIS a écrit le 09/09/2008 à 18h48 :Dans le champ Epr1, il faut que tu mettes :
iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;0;[le
nom du champ Pays de ta requête])
et dans le critere de selection des pays:
iif([FORMS]![F 238 : Résultat délégation par
salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon
AC]![code0])
En ce qui concerne la fonction IIF : tuavais fais une erreur de saisie dans
ta 1ère version => ce n'est pas iff qu'il faut saisir mais iif, iif
étant la
version anglaise de la fonction Vraifaux...mais c'est beaucoup plus rapide
à
saisir
--
Catherine
"Fabien" wrote:drazou a écrit :Fabien a écrit le 09/09/2008 à 14h38 :CAIRIS a écrit :Bonjour
Une seule requête et de ce fait un seul état te
suffiront si tufiltres ta
requête comme suit :
dans un nouveau champ, tu saisis une formule du type :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCaseACocher]=-1;"0;[LeNomduChampPaysdeLaRequête])....Le0 est à mettre entre guillemets si ton champ Pays est du
texte ouà 0 si
c'est du numérique
et sur la ligne Critère, tu saisis :
iif([Forms]![LeNomDuFormulaires]![LeNomDeLaCasACocher]=-1;"0";[forms]![LeNomDuFormulaires]![LeNomduChampDeSélectionDuPays])....salut
Tu peux aussi ajouter <Tous> dans ta liste et tester s'il est
selectionné . Dés lors au niveau de l'appel a ton etat
tu n'asplus qu'a
créé le bon filtre dans le docmd.openreport
monetat,,,moncritere.Pour ajouter <Tous> dans ta requete initiale d'alimentation de
ta listetu fais select Nom_pays from matable union select "
<Tous>" asNom_pays
from matable order by nom_pays
En mettant un blanc devant <Tous> tu es sur qu'il sera en
tête deliste.
@+
Rebonjour;
Ca ne marche pas :(
J'ai du faire une erreur ou alors iff n'existait pas encore sous access97
Voila ce que jai rajouté dans ma requete:
_dans une nouvelle colonne de type expression:
Expr1 : iff([FORMS]![F 238 : Résultat
délégation par salonAC]![Cocher0]=-1;0;[FORMS]![F 238 : Résultat
délégation par salon AC]![code0])et dans le critere de selection des pays:
"Expr1" jai essayé de remettre aussi
iff([FORMS]![F 238 : Résultatdélégation par salon AC]![Cocher0]=-1;0;[FORMS]![F 238 :
Résultat délégation parsalon AC]![code0])
[code0] correspond au numéro du pays renvoyé par la liste
déroulante et[Coche0] la case a cocher. Lorsque je lance la requete un message derreur
me ditque l'expression iif n'est pas définie. J'ai fait quelque chose de
travers?
Ta solution CAIRIS est intéressant mais on me demande de garder
l'option case acocher.
En continuant de chercher je suis tombé sur la fonction VraiFaux.
En mettant dans le critere de selection de pays:
=VraiFaux([FORMS]![F 238 : Résultat délégation par
salon AC]![Cocher0] > > Vrai;0; [FORMS]![F 238 : Résultat
délégation par salon AC]![code0])ca ne bug pas, et ca marche meme pour la consultation d'un seul pays mais
paspour tous en meme temps. Je crois que lorsque [Cocher0]=Vrai (voir tous
lespays) le critere devient zéro ce qui ne correspond a aucun pays.
Il faudrait quelorsque [Cocher0]=Vrai, le critère soit du vide. ("" ne
marche pas ^^)si vous avez des idées je suis prenneur :)
++ draz
et comme ça ;-)
Sub Bouton_click()
'si Cocher0 est faux alors on créé Monfiltre : [code pays]=code0
=> on
imprime que pour ce code pays
'Sinon Monfiltre reste vide => on imprime tout
dim monfiltre as string
MonFiltre=""
If not(me.cocher0) then
Monfiltre="[CodePays]=" & me.code0
end if
Docmd.openreport "Monetat",,,MonFiltre
End if
Ps : iff n'existe pas mais iif oui ;-)
@+
Hello
C'est encore moi :)
ca y est ca marche!!! yataaaaaaaaaa
J'ai trouvé la réponse de Fabien ici:
http://www.niouzes.org/microsoft-public-access/291662-soucis-access-critere-conditionnel-sur-case-cocher.html
Ce site reprend les posts de votre site mais sans passer par le controle modo,
alors ca va plus vite :p
Créer une expression de test a part marche nickel
jai mis: iif([FORMS]![F 238 : Résultat délégation par salon
AC]![Cocher0]=-1;Vrai;iif([FORMS]![F 238 : Résultat délégation par salon
AC]![code0]=[code délégation];Vrai))
Merci beaucoup a vous deux pour la gentillesse et le temps passé. Je vais
pouvoir poursuivre mes aventures sur access.
A bientot