IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

tri sur date en fonction de données issues d'un formulaire


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 139
    Points
    139
    Par défaut tri sur date en fonction de données issues d'un formulaire
    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 :

    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'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.

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

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 97
    Points : 143
    Points
    143
    Par défaut
    Bonjour,

    Tant qu'a tout essayer, as tu essayé datevalue?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        strSQL = "SELECT DISTINCTROW " & strTable & ".*"
        strSQL = strSQL & " FROM " & strTable
        strSQL = strSQL & " WHERE ((" & strCriteria & ") and (facture.dateenvoi between DateValue('" & Me.Texte75 & "') and  DateValue('" & Me.Texte77 & "'))); "

  3. #3
    Membre actif
    Homme Profil pro
    Chercheur
    Inscrit en
    Juin 2011
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 162
    Points : 248
    Points
    248
    Par défaut
    Bonjour,

    La syntax correcte est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = strSQL & " WHERE ((" & strCriteria & ") and (facture.dateenvoi Between Format(#" & Me.Texte75 & "#,'mm/dd/yyyy') And Format(#" & Me.Texte77 & "#,'mm/dd/yyyy'))); "
    Bcdt

  4. #4
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Merci de ces pistes mais, malheureusement, cela me retourne toujours de mauvais résultats.


  5. #5
    Membre actif
    Homme Profil pro
    Chercheur
    Inscrit en
    Juin 2011
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 162
    Points : 248
    Points
    248
    Par défaut
    Vous pouvez essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = strSQL & " WHERE ((" & strCriteria & ") and (facture.dateenvoi Between Format(#" & Me.Texte75 & "#,'dd/mm/yyyy') And Format(#" & Me.Texte77 & "#,'dd/mm/yyyy'))); "
    même si je doute au vu des symptomes, l'inversion jour/mois s'expliquant, le retour d'années hors fourchette me laissant dubitatif ...

    Bcdt

  6. #6
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 139
    Points
    139
    Par défaut
    Vraiment désolé et confus

    Le code suivant était bien le bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = strSQL & " WHERE ((" & strCriteria & ") and (facture.dateenvoi Between Format(#" & Me.Texte75 & "#,'mm/dd/yyyy') And Format(#" & Me.Texte77 & "#,'mm/dd/yyyy'))); "
    Problème de copier/coller ...

    Encore désolé ...

    Mais un très grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tri sur dates
    Par yalefe dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/09/2009, 16h56
  2. [PerformancePoint] Tri sur date dans Dashboard Designer
    Par Sam3oul dans le forum Microsoft BI
    Réponses: 0
    Dernier message: 09/09/2009, 14h06
  3. [MySQL 5] Double tri sur date et time
    Par titoine1978 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/06/2006, 19h46
  4. requete avec tri sur date erronée
    Par olivll dans le forum Access
    Réponses: 11
    Dernier message: 20/10/2005, 15h45
  5. [Interbase 6] tri sur date et SQL
    Par Yogy dans le forum InterBase
    Réponses: 6
    Dernier message: 21/06/2005, 09h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo