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 différences de dates


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Calcul différences de dates
    Bonjour,
    Après maintes recherches, je n'ai pas trouvé la solution à mon problème :
    ajouter / soustraire un nombre de jours / mois / années à une date.
    1 date d'effet (01/11/2005 par exemple),
    un nombre d'années (1 par exemple),
    un nombre de mois (8 par exemple),
    un nombre de jours (24 par exemple).
    Je souhaite soustraire la somme des nombres d'années / mois / jours à ma date d'effet (soit comme résultat 06/02/2004). Uniquement via "SQL" ACCESS (pas de prog VBA).

    Variante 1 : que je souhaite également calculer : à partir de la date d'effet, je souhaite ajouter un nombre d'années et / ou de mois.
    Variante 2 : ajouter simplement un nombre de mois (qui pourra être > 12).

    J'ai essayé d'utiliser DATEPART, DATEDIFF,... mais résultats non OK.
    Exemples :
    Expr1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DiffDate("m";[Date d'effet ancienneté];[Mois d'ancienneté échelon])
    Expr5:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (PartDate("m";[Date d'effet ancienneté])-[Mois d'ancienneté échelon])
    (OK mais pour une partie de la date)
    Expr3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (PartDate("aaaa";[Date d'effet ancienneté])-[Années d'ancienneté échelon]) & (PartDate("mm";[Date d'effet ancienneté])-[Mois d'ancienneté échelon]) & (PartDate("j";[Date d'effet ancienneté])-[Jours d'ancienneté échelon]) :
    #ERREUR
    Merci d'avance pour vos réponses

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il y'a une autre fonction DateAdd

    Starec

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Oui, j'ai essayé dateadd, mais celà ne fait qu'ajouter les nombres. Pas de soustraction.
    D'autre part, je souhaite avoir un résultat de type "date", quitte à utiliser la concaténation de plusieurs colonnes.
    PS : J'ai lu le topic décrivant les dates (http://access.developpez.com/faq/?page=dates).
    PS2 : Dans mon pb, chaque élément (effet, nombre d'années, nb mois, nb jours) est dans une colonne distincte. Format date pour EFFET et format numérique pour les nombres.

    Merci à vous.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par bafomet Voir le message
    Oui, j'ai essayé dateadd, mais celà ne fait qu'ajouter les nombres. Pas de soustraction.
    Faux, si tu mets un nombre négatif cela soustrait.

    D'autre part, je souhaite avoir un résultat de type "date", quitte à utiliser la concaténation de plusieurs colonnes.
    Va voir du coté de DateSerial pour récréer correctement une date.

    Starec

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut HELP : encore une question : conditions
    Merci. Je vais chercher du coté dateserial.

    Autre question :
    Comment, directement dans une colonne (ou via l'éditeur SQL) donc toujours de VBA, poser une condition ? Exemple : si les données de mon champ AA < 10, calculer mon champ AA + 5, sinon calculer mon champ AA + 25.
    En SQL je connaissait case when else end...
    Mais pas d'aquivalent en ACCESS ?

    Merci encore pour vos réponses.

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    regarde l'aide sur Iif() qui s'appelle VraiFaux() en français.

Discussions similaires

  1. Calcul différence entre deux dates
    Par ouinih dans le forum PL/SQL
    Réponses: 1
    Dernier message: 31/12/2008, 18h53
  2. calcul différence entre dates
    Par igour dans le forum Access
    Réponses: 2
    Dernier message: 18/01/2007, 11h30
  3. [Dates] Calculer différence en jours entre deux dates
    Par looping2b2a dans le forum Langage
    Réponses: 4
    Dernier message: 29/12/2006, 23h32
  4. Calculer différence date champ d'une même requête
    Par priest69 dans le forum Access
    Réponses: 20
    Dernier message: 11/11/2005, 20h15

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