Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec critère dans formulaire

18 réponses
Avatar
yannick
Bonjour !

Voici mon problème : j'utilise dans un formulaire une liste de choix avec
des noms de villes et, selon la ville choisie, une requête parametrée s'ouvre
avec comme paramètre la ville choisie. Tout marche très bien

Le problème c'est quand on ne sélectionne aucun champ, la requête ne renvoi
rien alors que je voudrais au contraire avoir tout !

L'idée serait de faire un vraifaux(est vide; tout; critère) mais je n'arrive
pas à le formuler... si qqn à une idée je suis prenneur ^^

Merci and bonne journée

8 réponses

1 2
Avatar
re

"yannick" a écrit dans le message de
news:
[Formulaires]![menu]![LISTE-2].column(0) renvoie un message d'erreur
"Fonction '[Formulaires]![menu]![LISTE-2].column' non définie dans
l'expression"

Cé quoi sa ?

(désolé je suis vraiment une patate en vb...)


oublie ce que j'ai écrit, ça ne fonctionne pas sur ma version française
d'access 2000

dans quelle colonne est ta valeur ?
si tu crées la requête ci-dessous et que tu l'exécutes après avoir
sélectionné une valeur dans ton formulaire, te retourne-t-elle la valeur du
formulaire ?

SELECT [Formulaires]![menu]![LISTE-2] AS Expr1;

a+
--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------

Avatar
J-Pierre
Salut Anor,

Je crois que tu confonds, les propriétés d'un contrôle de formulaire ne sont pas disponibles dans une requête SQL, juste sa valeur.

Enfin, je crois :-))))

J-Pierre
Avatar
yannick
Ce n'est pas la même requête suivant la ville choisie ?


Disons que j'ai une liste d'enregistrements avec chacun une ville, le fait
de choisir une ville dans la liste "filtre" la liste pour n'afficher que les
personnes concernées par la ville choisie

Comment sais-tu que l'utilisateur veut tout ou seulement une ville spécifique ?


Si la liste déroulante est vide, alors l'utilisateur veut tout voir (c'est
la qu'est le problème... comment traduire cette phrase en acccess ?)

[An]![N°], c'est un nom de ville ? Numérique ? Ce serait le code postal ? Ta liste de choix comprendrait 2 colonnes, code postal et
nom de la ville, et la colonne liée est la première ? Si c'est le code postal, dans ta table, le champ est défini comme Texte ou
Numérique ?


Alors c'est bien une liste de choix avec un numéro, désolé de ne pas l'avoir
précisé

Comment exécutes-tu ta requête, je veux dire comment déclenches-tu son exécution ?
Du code VBA, sur évènement Après MAJ de ta liste, ou avec un bouton, sur clic ?
Ou bien comme source d'un autre formulaire ?


avec un bouton, sur clic

Voili voilou, si tu réponds à toutes ces questions, je te promets que les solutions vont fuser, même moi, je devrais t'en trouver
une :-)


inch'hallah ;)

merci beaucoup ^^

Avatar
Eric
Bonjour,

Soit Formulaire1 le nom du formulaire contenant la liste nommée Liste0
et le bouton de commande ouvrant la requête. Soit Ville le champ de la
requête sur lequel tu veux mettre le critère. Celui-ci sera:
VraiFaux(EstNull([Formulaires]![formulaire1]![Liste0]);[Ville];[Formulaires]![formulaire1]![Liste0])

PS: le contenu de la liste Liste0 est du genre:
Select Distinct Ville from LaTatble oreder by Ville

Bonjour !

Voici mon problème : j'utilise dans un formulaire une liste de choix avec
des noms de villes et, selon la ville choisie, une requête parametrée s'ouvre
avec comme paramètre la ville choisie. Tout marche très bien

Le problème c'est quand on ne sélectionne aucun champ, la requête ne renvoi
rien alors que je voudrais au contraire avoir tout !

L'idée serait de faire un vraifaux(est vide; tout; critère) mais je n'arrive
pas à le formuler... si qqn à une idée je suis prenneur ^^

Merci and bonne journée


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...
Que de fautes de frappes

PS: le contenu de la liste Liste0 est du genre:
Select Distinct Ville from LaTatble oreder by Ville



Select Distinct Ville From LaTable Order By Ville
doit être préférable ;-)

--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
yannick
Merci pour votre aide, j'ai adapté votre formule qui me semblait correspondre
parfaitement mais après l'avoir testée, je vois que quoi qu'il arrive elle
renvoi tous les résultats de la table...

Ou pourrait bien être le problème ?

A tous hasard voici la requête problématique.

SELECT An.NOM, An.PRENOM,
IIf(IsNull([Formulaires]![menu]![LISTE-2]),[An]![N°],[Formulaires]![menu]![LISTE-2]) AS Expr1
FROM An
GROUP BY An.NOM, An.PRENOM,
IIf(IsNull([Formulaires]![menu]![LISTE-2]),[An]![N°],[Formulaires]![menu]![LISTE-2]);
Avatar
Eric
re,

le sql devrait être du genre:
SELECT Distinct An.NOM, An.PRENOM, An.[N°]
FROM An
WHERE An.[N°] =
IIf(IsNull([Formulaires]![menu]![LISTE-2]),[N°],[Formulaires]![menu]![LISTE-2]);

Merci pour votre aide, j'ai adapté votre formule qui me semblait correspondre
parfaitement mais après l'avoir testée, je vois que quoi qu'il arrive elle
renvoi tous les résultats de la table...

Ou pourrait bien être le problème ?

A tous hasard voici la requête problématique.

SELECT An.NOM, An.PRENOM,
IIf(IsNull([Formulaires]![menu]![LISTE-2]),[An]![N°],[Formulaires]![menu]![LISTE-2]) AS Expr1
FROM An
GROUP BY An.NOM, An.PRENOM,
IIf(IsNull([Formulaires]![menu]![LISTE-2]),[An]![N°],[Formulaires]![menu]![LISTE-2]);



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
yannick
Formidable ! merci merci merci merci beaucoup !!!

Je vais passer un bon week end ;)
1 2