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 :

fonction entre 2 dates


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    PENSION
    Inscrit en
    Septembre 2023
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : PENSION

    Informations forums :
    Inscription : Septembre 2023
    Messages : 51
    Points : 43
    Points
    43
    Par défaut fonction entre 2 dates
    Bonjour ,

    J ai crée un petit programme pour suivre mes dépenses. Je veux obtenir le montant de mes dépenses Visa , entre 2 dates , soit le 18 du mois précèdent jusqu'au 17 du mois actuel et tout cela de l année en cours. Se posera aussi le problème des dépenses visa allant du 18/12 au 17/1 de l année suivante !!!
    J ai dans ma requête , des champs : date, Montant , et une formule qui ne fonctionne pas !!!
    Je ne connais rien en vba

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Entre (PartDate("j";[Date])=17 Et PartDate("m";[Date]=(Maintenant()))) et AjDate("m";-1;18)
    Merci pour votre aide toujours précieuse

    Yves

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Sauf indication contraire non mentionnée dans ton post, tu n'as pas besoin de VBA.
    Dans une requête tu peux utiliser quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Between dateserial(year(dateAdd(-1,"m",date())), month(dateAdd(-1,"m",date()), 18) and dateserial(year(date), month(date), 17))
    Et on peut aussi faire comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Between "#" & format(dateAdd(-1,"m",date()), "yyyy-mm") & "-18#") and "#" & format(date(), "yyyy-mm") & "-17#")
    Si tu es sur un Access en français il faut remplacer les "yyyy-mm" par "aaaa-mm" et les virgules (,) par des point-vgules (;), le reste Access s'occupe de traduire.

    Le # au début et à la fin indique à Access que c'est une date.
    Le format "yyyy-mm-dd" assure que Access ne confonde pas le jour et le mois.
    C'est surtout un problème si tu travailles comme moi dans un environnement bilingue où les format dd/mm/aaaa et mm/dd/aaaa sont utilisés.
    Parfois Access lit le 02/01/2024 comme le 2 janvier 2024 et parfois comme le 1er Fevrier 2024. Avec le format inversé yyyy-mm-dd il n'y a pas de doute sur ce qui est le mois et ce qui est le jour.

    A+

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 397
    Points : 19 823
    Points
    19 823
    Billets dans le blog
    66
    Par défaut
    Salut Marot_m,

    J'aime bien le format que tu utilises en général pour les dates yyyy-mm-dd car pour être honnête je n'ai jamais trop bien compris la logique de ce format us mm-dd-yyyy

    (pas oublier non plus les #..#)

    Cdlt,

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 397
    Points : 19 823
    Points
    19 823
    Billets dans le blog
    66
    Par défaut Fonction DateSerial
    Salut Marot_r,

    La fonction dateserial est vraiment très intéressante.

    En fait tu n'as pas à te soucier de passer le bon mois (ou le bon jour) quand tu souhaites décaler la date par rapport au mois.

    Je te donne un exemple simple :

    ? DateSerial(Year(Date()), 1-1, 18)

    18/12/2023

    Même chose pour les jours.

    Donc tu peux faire simplement :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    Between DateSerial(year(date()), month(date())-1, 18) and DateSerial(year(date()), month(date()), 17)

    Cdlt,

  5. #5
    Membre du Club
    Homme Profil pro
    PENSION
    Inscrit en
    Septembre 2023
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : PENSION

    Informations forums :
    Inscription : Septembre 2023
    Messages : 51
    Points : 43
    Points
    43
    Par défaut valeur entre 2 dates
    D abord un énorme merci à Maroot et User.

    je suis un peu fatigué mais demain , je teste avec grand intérêt. J avais cherché mais mal !!!

    je vous tiens au courant rapidement

    Une très bonne soirée et bien cordialement

    Yves

  6. #6
    Membre du Club
    Homme Profil pro
    PENSION
    Inscrit en
    Septembre 2023
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : PENSION

    Informations forums :
    Inscription : Septembre 2023
    Messages : 51
    Points : 43
    Points
    43
    Par défaut valeur entre 2 dates
    C est super et mille merci, ç a fonctionne avec mon access français.

    Evidemment , c est facile quand j ai la solution grâce à vous. J avais cherché la fonction DateSérie mais nulle part , je n avais trouvé que l on pouvait remplacer les chiffres par ( exemple Date() ). J adore access et sans publicité , auriez vous une référence de livre à me donner pour une personne un peu expérimentée mais pas de trop , les fonctions sur les ou avec les dates , etc. Mais je suis sauvé et vraiment merci à ces 2 très gentils messieurs Bien amicalement Yves

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Citation Envoyé par user
    En fait tu n'as pas à te soucier de passer le bon mois (ou le bon jour) quand tu souhaites décaler la date par rapport au mois.
    Oui c'est vrai j'avais oublié ce truc, toujours un peu de misère avec les valeurs pour les dates qui ne sont pas dans les intervalles habituels.
    Genre le 0ème jour du mois qui est le dernier jour du mois précédent.

    A+

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 061
    Points : 24 665
    Points
    24 665
    Par défaut
    Citation Envoyé par User Voir le message
    ... pour être honnête je n'ai jamais trop bien compris la logique de ce format us mm-dd-yyyy
    Bonjour,

    C'est le format d'affichage standard abrégé des dates anglo-saxonnes. Informatiquement parlant ça n'a que peu d’intérêt.

    Cordialement,

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 397
    Points : 19 823
    Points
    19 823
    Billets dans le blog
    66
    Par défaut
    Salut Loufab,

    Ce que je voulais simplement dire c'est que je trouve plus naturel pour un programmeur d'utiliser le format #yyyy-mm-dd#, année>mois>jour. Conseil que je n'ai pas trop suivi jusque là

  10. #10
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 061
    Points : 24 665
    Points
    24 665
    Par défaut
    En effet d'un point de vue strictement technique le format yyyy-mm-dd assure un tri correct donc plus pratique.
    D'un point de vue utilisateur anglo saxon c'est le format de date usuel qui est le plus lisible.

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

Discussions similaires

  1. Fonction entre 2 dates
    Par timalmax dans le forum Langage
    Réponses: 5
    Dernier message: 12/12/2011, 17h36
  2. [XL-2003] difference entre deux nombres en fonction d'une date
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 11/06/2009, 10h26
  3. Réponses: 6
    Dernier message: 12/01/2008, 18h21
  4. Fonction de calcul du nb de jour entre 2 dates
    Par Teugos dans le forum SAP
    Réponses: 3
    Dernier message: 20/09/2007, 18h12
  5. [Date] Fonction de calcul de durée entre 2 dates
    Par jesus144 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/01/2006, 16h36

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