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

10 réponses

1 2
Avatar
Tisane
Bonjour Yannick,

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


Et si tu ajoutes ou null dans ta requête (Or Null) ?

--
Tisane

Avatar
yannick
j'ai essayé et la requête renvoie alors tous les résulats, quelque que soit
le critère de la liste de choix...
Avatar
Tisane
j'ai essayé et la requête renvoie alors tous les résulats, quelque que
soit
le critère de la liste de choix...


Peux-tu copier/coller le sql de ta requête paramétrée ?
--
Tisane

Avatar
Parsifal

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 ^^
peut etre :


vraifaux([critere] is null; "*";[critere])


Avatar
yannick
c'étais une très bonne idée mais hélas qui ne donne aucun résultat
Avatar
yannick
Voila :

SELECT An.NOM, An.PRENOM
FROM An
WHERE ((([Formulaires]![menu]![LISTE-2]) Like [An]![N°]))
GROUP BY An.NOM, An.PRENOM;

Alors : An.NOM & An.PRENOM c'est juste le nom et le prénom
Liste-2 c'est la liste de choix basée sur le numéro.
et il compare avec an!n°



j'ai essayé et la requête renvoie alors tous les résulats, quelque que
soit
le critère de la liste de choix...


Peux-tu copier/coller le sql de ta requête paramétrée ?
--
Tisane





Avatar
Bonjour,

il faut préciser le numéro de colonne de la liste à prendre en compte dans
ta comparaison :
[Formulaires]![menu]![LISTE-2].column(0) pour la première colonne

D'autre part, éviter de nommer des champs de tables ou de requêtes avec des
noms réservés qui peuvent faire perdre les pédales à access
(nom, date, name, etc...) => NomClient, AgeCapitaine, DateSaisie, etc...

Eviter également les accents, espaces et autres caractères qui imposeraient
l'utilisation de crochets dans le code :
on préfèrera donc par exemple NoClient à N° Client

Enfin, l'utilisation du Like sous-entend que tu autoriseras l'utilisation de
carcatères joker "*" etc ... dans ta comparaison

Voilà, désolé Tisane de t'avoir coupé l'herbe sous le pied, tu avais fait le
plus gros du travail : un problème bien posé est à moitié résolu ;-)

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


"yannick" a écrit dans le message de
news:
Voila :

SELECT An.NOM, An.PRENOM
FROM An
WHERE ((([Formulaires]![menu]![LISTE-2]) Like [An]![N°]))
GROUP BY An.NOM, An.PRENOM;

Alors : An.NOM & An.PRENOM c'est juste le nom et le prénom
Liste-2 c'est la liste de choix basée sur le numéro.
et il compare avec an!n°



j'ai essayé et la requête renvoie alors tous les résulats, quelque que
soit
le critère de la liste de choix...


Peux-tu copier/coller le sql de ta requête paramétrée ?
--
Tisane







Avatar
yannick
[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...)


Bonjour,

il faut préciser le numéro de colonne de la liste à prendre en compte dans
ta comparaison :
[Formulaires]![menu]![LISTE-2].column(0) pour la première colonne

D'autre part, éviter de nommer des champs de tables ou de requêtes avec des
noms réservés qui peuvent faire perdre les pédales à access
(nom, date, name, etc...) => NomClient, AgeCapitaine, DateSaisie, etc...

Eviter également les accents, espaces et autres caractères qui imposeraient
l'utilisation de crochets dans le code :
on préfèrera donc par exemple NoClient à N° Client

Enfin, l'utilisation du Like sous-entend que tu autoriseras l'utilisation de
carcatères joker "*" etc ... dans ta comparaison

Voilà, désolé Tisane de t'avoir coupé l'herbe sous le pied, tu avais fait le
plus gros du travail : un problème bien posé est à moitié résolu ;-)

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


"yannick" a écrit dans le message de
news:
Voila :

SELECT An.NOM, An.PRENOM
FROM An
WHERE ((([Formulaires]![menu]![LISTE-2]) Like [An]![N°]))
GROUP BY An.NOM, An.PRENOM;

Alors : An.NOM & An.PRENOM c'est juste le nom et le prénom
Liste-2 c'est la liste de choix basée sur le numéro.
et il compare avec an!n°



j'ai essayé et la requête renvoie alors tous les résulats, quelque que
soit
le critère de la liste de choix...


Peux-tu copier/coller le sql de ta requête paramétrée ?
--
Tisane












Avatar
Tisane
Bonjour Arnaud,

Voilà, désolé Tisane de t'avoir coupé l'herbe sous le pied, tu avais fait
le plus gros du travail : un problème bien posé est à moitié résolu ;-)


Tu as bien fait d'intervenir, je n'avais pas tout compris ;-)

--
Tisane

<Anor> a écrit dans le message de news:
%
Bonjour,

il faut préciser le numéro de colonne de la liste à prendre en compte dans
ta comparaison :
[Formulaires]![menu]![LISTE-2].column(0) pour la première colonne

D'autre part, éviter de nommer des champs de tables ou de requêtes avec
des noms réservés qui peuvent faire perdre les pédales à access
(nom, date, name, etc...) => NomClient, AgeCapitaine, DateSaisie, etc...

Eviter également les accents, espaces et autres caractères qui
imposeraient l'utilisation de crochets dans le code :
on préfèrera donc par exemple NoClient à N° Client

Enfin, l'utilisation du Like sous-entend que tu autoriseras l'utilisation
de carcatères joker "*" etc ... dans ta comparaison


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


"yannick" a écrit dans le message de
news:
Voila :

SELECT An.NOM, An.PRENOM
FROM An
WHERE ((([Formulaires]![menu]![LISTE-2]) Like [An]![N°]))
GROUP BY An.NOM, An.PRENOM;

Alors : An.NOM & An.PRENOM c'est juste le nom et le prénom
Liste-2 c'est la liste de choix basée sur le numéro.
et il compare avec an!n°



j'ai essayé et la requête renvoie alors tous les résulats, quelque que
soit
le critère de la liste de choix...


Peux-tu copier/coller le sql de ta requête paramétrée ?
--
Tisane











Avatar
J-Pierre
Bonjour,

Je peux intervenir moi aussi ?

D'abord, comme Tisane, je n'ai pas tout compris, mais ça ne m'empêche pas de m'en mêler :-)

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


Ce n'est pas la même requête suivant la ville choisie ?
Comment sais-tu que l'utilisateur veut tout ou seulement une ville spécifique ?

SELECT An.NOM, An.PRENOM
FROM An
WHERE ((([Formulaires]![menu]![LISTE-2]) Like [An]![N°]))
GROUP BY An.NOM, An.PRENOM;


[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 ?

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 ?

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 :-)

J-Pierre

1 2