1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Questions générale
Sujet n° 588 |
Access_2007 - Filtre multicritères VBA / Dates |
le 02/04/2012 : 09:36 par Snoopy
visiteur |
Bonjour à toutes / tous,
Grâce à l'article fort intéressant de Raymond Sénèque (http://officesystem.access.over-blog.com/article-16037884.html) j'ai pu créer un filtre multicritères tout à fait fonctionnel (y compris avec des valeurs nulles) pour des valeurs en format texte ou numérique.
Par contre, impossible de trouver la solution pour une valeur en format date (Between date_debut and date_fin).
J'ai formaté les dates de référence en format "américain" et introduit les "#" :
myFilter = myFilter & ("[MISSION_DATE] BETWEEN #" + Format(Forms!F_SELECTION_RECHERCHE!date_debut, "dd/mm/yyyy") + "# AND #" + Format(Forms!F_SELECTION_RECHERCHE!date_fin, "dd/mm/yyyy") + "# and ")
mais j'obtiens un message d'erreur : "Erreur d'exécution 3075 / Erreur de syntaxe dans la date dans l'expression "[MISSION_DATE] BETWEEN #01.01.2012# AND #30.03.2012# ".
Outre le fait que Windows rétablit, vraisemblablement, le format de base par le biais des "paramètres régionaux", je ne vois pas où est l'erreur ?
Merci de votre aide !
Snoopy |
|
|
Réponse n° 3 -------- le 03/04/2012 : 11:44 par 3Stone
Administrateur
|
Bonjour,
Citation :l'article de R. Sénèque...
Primo, dans cette concaténation, une date ne peut en aucun cas avoir de valeur NULL! On obtiendrait immédiatement une erreur.
Secondo, le signe de concaténation pour le VBA Access est et reste le signe &, même si pour quelques cas spéciaux le signe + peut être utilisé.
Tertio, parfois, Raymond prétendait même l'inverse de ce qu'affirmait l'équipe de développeurs d'Access
Citation :n'indique pas comment empêcher les paramètres régionaux de Windows
SI! J'ai spécifié qu'il est obligatoire de présenter les dates au format US!!! Et là, même Raymond n'ose pas affirmer le contraire
Tu dis ne pas être néophyte, c'est étonnant, car cette histoire de date au format US est une des premières choses à apprendre lorsque l'on touche au VBA... et on ne recode pas l'OS pour modifier cela
Cordialement, Pierre(3stone)
|
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|