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 :

Requete recuperant les dates entre x et y


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut Requete recuperant les dates entre x et y
    Bonjour,

    Je voudrais faire sous Access une requete qui me regroupe en sortie les champs ayant une date entre la date de la ligne courante + 11 mois.

    Je m'explique :

    la table A contient un champs "date_perso" et je veux dans une requete sommer le champs "Valeur" pour les lignes ayant comme valeur de "date_perso" la date de la ligne et ce jusqu'a 11 mois en plus de cette date.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    date_perso          Valeur
    12/01/2001            5
    01/01/2002            6
    02/01/2002            7
    ...
    11/01/2002            10
    12/01/2002            11
    La faudrait sommer 5+6+7+...+10 mais pas le 11... pour la premiere sortie de la requete puis 6+7+...+11 pour la 2eme sortie de la requete, etc. mais je vois pas comment dire dans la requete SQL de selectionner le champs date_perso et de prendre toutes les autres lignes de la table avec une date egale ou a laquelle on ajoute 11 mois ... Tout ca dans un "HAVING" ...

    EDIT : a moins que ce ne soit un vieux truc du style "HAVING A.date_perso < A.date_perso + 11" ou le "+11" serait a traiter via une fonction speciale mais l'idee searit juste une comapraison alors ?? (je testerai demain au pire si personne n'a repondu et avec le decalage horaire Paris-NY, cest fort probable )

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    tu dois placer la somme dans un champ.

    exemple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT Cdate(Format(B.Date_Perso,"mm/dd/yyyy")) As [Du], 
      DateAdd("m",11,Format(B.Date_Perso,"mm/dd/yyyy")) As [Au],
      (SELECT Sum(Nz(A.Valeur,0)) FROM TAbleA As A
       WHERE CDate(Format(A.Date_Perso,"mm/dd/yyyy"))
       BETWEEN Cdate(Format(B.Date_Perso,"mm/dd/yyyy"))
       AND DateAdd("m",11,Format(B.Date_Perso,"mm/dd/yyyy"))) As [Total]
    FROM TableA As B;

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    Salut,
    il me semble qu'il n'est pas nécessaire de faire un combo Cdate+Format
    pour compléter ce que propose ilank, tu peux avoir un plus court
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    Date_Perso BETWEEN Now() and AddDate('m',11,Now())


    Peux-tu nous indiquer le résultat de requête attendu stp ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. Requete sur les dates
    Par innova dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/02/2007, 14h18
  2. [SQL Server] Requete récupérant les 2 max
    Par Franck2mars dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/04/2006, 13h45
  3. [VB6] Toutes les dates entre un interval dans un dynaset
    Par tim69000 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 10/04/2006, 15h13
  4. requete : selectioner les dates les plus récentes
    Par aujero dans le forum Access
    Réponses: 6
    Dernier message: 01/03/2006, 10h40
  5. [VB6]sortir toutes les dates entre deux dates
    Par AlfiQue dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/02/2006, 19h09

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