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

Formulaire Zone de liste / choix multiple

1 réponse
Avatar
woodfoot
J'ai une cascade de formulaire marchant de la facon suivante :
Formulaire 1, choix d'une categorie.
Je recupere la valeur de la liste et je fais tourner ma requete avec la condition "[Formulaires]![Formulaire1]![Liste0]"
ca ouvre un deuxieme formulaire et on a le meme process

Jusqu'ici tout marche
Mais quand j'arrive aux dates, j'aurais besoin de mon utilisateur selectionne plusieurs dates.
Dans la liste, je mets "selection multiple" sur simple.
Je garde la meme condition dans ma requete, et ca ne marche pas !

Comment faire alors pour que ma zone de liste conditionne ma requete sur les multiples valeurs selectionnées ?

Des idées ?

merci bien ! Merci par avance !

1 réponse

Avatar
Gloops
woodfoot a écrit, le 03/12/2012 17:08 :
J'ai une cascade de formulaire marchant de la facon suivante :
Formulaire 1, choix d'une categorie.
Je recupere la valeur de la liste et je fais tourner ma requete avec la
condition "[Formulaires]![Formulaire1]![Liste0]"
ca ouvre un deuxieme formulaire et on a le meme process

Jusqu'ici tout marche
Mais quand j'arrive aux dates, j'aurais besoin de mon utilisateur selec tionne
plusieurs dates.
Dans la liste, je mets "selection multiple" sur simple.
Je garde la meme condition dans ma requete, et ca ne marche pas !

Comment faire alors pour que ma zone de liste conditionne ma requete su r les
multiples valeurs selectionnées ?

Des idées ?

merci bien ! Merci par avance !





Bonjour,

Ah oui il faut mettre en forme les dates. Pour le faire assez simplement
on peut les mettre entre caractères #, avec la clause BETWEEN, il me
semble qu'il faudra utiliser le format du système, à vérifier toute fois.
Si on utilise la même base sur une machine dont la date système n'a p as
le même format, il y a risque de confusion du 10 janvier avec le premie r
octobre.

Pour une application internationale on recourra à DateSerial, dont les
arguments sont toujours fournis dans l'ordre année, mois, jour. La
syntaxe est assez lourde car il faut mettre DateSerial dans le code de
la requête, fermer les guillemets après la parenthèse pour fournir
l'année, donc avec Year() appliqué à la date sélectionnée, puis une
virgule entre guillemets, Month() appliqué à la date sélectionnée ...

Autour des guillemets, les concaténations se font avec &, puisqu'on a
affaire à des nombres et des chaînes de caractères.

Pour une base devant migrer d'Access 95 à Access 97, c'était encore u n
peu plus lourd car on n'avait pas droit à l'opérateur &. De plus la
bibliothèque où se trouvent les fonctions de conversion n'était pas
reconnue par défaut, il fallait donc la déclarer en préfixe.

ça donnait donc :

" BETWEEN DateSerial(" + VBA.Str$(VBA.Year(DateMin)) + ", " + VBA.Str$( . ..

ou en tout cas quelque chose du style.