Bonjour,
J'essaye d'effectuer un tri sur une table "facture" en fonction de la date d'envoi ([dateenvoi])<;
Pour effectuer ce tri, j'entre une période dans un formulaire car l'idée est de trouver les factures envoyées sur cette période pour effectuer des stats :
me.texte75= début de la période (format date abrégée du type 15/01/2011)
me.texte77= fin de la période (format date abrégée, idem)
J'utilise comme condition WHERE quelque chose du type :
J'ai bien des résultats mais ils sont erronés ... ainsi je trouve des factures de 2009 et 2008 si je fais une recherche sur la période de janvier à juillet 2011.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 strSQL = "SELECT DISTINCTROW " & strTable & ".*" strSQL = strSQL & " FROM " & strTable strSQL = strSQL & " WHERE ((" & strCriteria & ") and (facture.dateenvoi between " & Format(Me.Texte75, "dd/mm/yyyy") & " and " & Format(Me.Texte77, "dd/mm/yyyy") & ")); "
J'avoue ne plus savoir quoi faire :
- j'ai essayé sans l'instruction "format"
- j'ai essayé avec des # pour encadrer mes dates avec la fonction FORMAT et sans celle-ci
- j'ai essayé cdate(format ...) sans succès ...
- j'ai essayé la fonction "format" avec "mm/dd/yyyy"
Si quelqu'un pouvait me préciser l'erreur de syntaxe ... ce serait 'achement sympa car, là, je sèche ....
Merci
PS : la clause WHERE, lorsqu'elle ne contient que le 'strcriteria', fonctionne parfaitement ... le problème vient donc nécessairement du traitement des dates de la période recherchée...
Partager