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 :

Calcul de date - enlever X années


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut Calcul de date - enlever X années
    Bonjour,

    Dans une requête, j'ai un champ "Date de début" et j'ai un champ "Nombre d'années du mandat".

    Je veux ajouter le champ calculer suivant : Date de début Plus Nombres d'années du mandat pour savoir la date où le mandat prendra fin.

    J'ai beau chercher dans l'aide. Je trouve comment calculer avec une macro mais pas dans un champ de requête.

    Merci de votre aide!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Dans une req avec la fonction ajoutdate() // dateadd()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT MaTable, DateAdd("y",[ChampNbAnnée],[ChampDateDeb]) AS DateFin
    FROM MaTable;
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Merci pour ta réponse Hyperion.

    Et où est-ce que je place ce code exactement quand je suis déjà dans la requête?
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  4. #4
    Modérateur

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

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

    Tu te mets sur une colonne vide et tu tapes quelque chose qui ressemble a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateFin : DateAdd("aaaa"; [ChampNbAnnée]; [ChampDateDeb])
    ou
    1. [ChampNbAnnée] est le nom du champ ou tu as la duree du mandat.
    2. [ChampDateDeb] est le nom du champ ou tu as la date de debut du mandat.


    Ou tu changes l'affichage pour SQL (en haut a droite) et tu tapes directement.

    Il y a une petite erreur sur le parametre qui doit etre "yyyy" et non "y" (y tout seul c'est le jour dans l'annee, c'est assez traitre comme truc).
    Et quand tu es SQL, il faut tout taper en Anglais y compris les parametres.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Il faut placer l'expression dans un champ de la req
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DateFin : DateAdd("y",[ChampNbAnnée],[ChampDateDeb])
    ou
    DateFin : AjDate("a";[ChampNbAnnée];[ChampDateDeb])
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  6. #6
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Merci! ça fonctionne.

    Mais j'aimerais savoir, dans certains cas, je n'ai pas de date de début, ou je n'ai pas de durée. Comment je fais pour ne pas afficher le "#Erreur"?

    Merci!
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  7. #7
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Une solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DateFin : IIF(IsNull([ChampDateDeb] Or IsNull([ChampNbAnnée]),0,DateAdd("y",[ChampNbAnnée],[ChampDateDeb]))
    ou
    DateFin : VraiFaux(EstNull([ChampDateDeb] Or EstNull([ChampNbAnnée]);0;AjDate("a";[ChampNbAnnée];[ChampDateDeb]))
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  8. #8
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Merci de ta réponse, c'est très apprécié.

    Voici la "traduction" avec mes champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateFinMandat : VraiFaux(EstNull([ListeMembreComite]![DateDebut]) Or EstNull([ListeMembreComite]![DureeMandatSelonReso]); 0;AjDate("aaaa";[ListeMembreComite]![DureeMandatSelonReso];[ListeMembreComite]![DateDebut]))
    Mais ça me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La syntaxe de l'expression n'est pas correcte. Vous avez peut-être entré un opérande sans opérateur
    J'ai essayé d'analyser toutes mes parenthèses, elles semblent conformes.

    Où est mon erreur?

    Merci!!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  9. #9
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Dans votre syntaxe, je note un espace avant le zéro. Supprimez-le, il est probablement la source de votre erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateFinMandat : VraiFaux(EstNull([DateDebut]) Or EstNull([DureeMandatSelonReso]);0;AjDate("aaaa";[DureeMandatSelonReso];[DateDebut]))
    il est inutile d'ajouter [ListeMembreComite]! dans votre expression
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  10. #10
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Merciiiii!


    Ça fonctionne!
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 14/10/2017, 01h17
  2. Réponses: 0
    Dernier message: 11/11/2014, 11h03
  3. Réponses: 7
    Dernier message: 08/11/2011, 13h30
  4. Calcul de date (période de l'année)
    Par Daniel-Gérald dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/06/2008, 17h09
  5. Calcul de date en années ET mois
    Par priest69 dans le forum Access
    Réponses: 2
    Dernier message: 26/09/2005, 18h53

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