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

SAP Crystal Reports Discussion :

Avoir le premier jour du mois precedent


Sujet :

SAP Crystal Reports

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut Avoir le premier jour du mois precedent
    Bonjour,

    je cherche à avoir le premier jour du mois précédent...en gérant également le changement d'année...
    J'ai fait une formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTimeValue(year({@currentdate}),month({@currentdate})-1,01,00,00,00)
    Mais ca ne gère pas le changement d'année...

    Si vs avez une idée, n'hésitez pas!
    je precise..je suis en XI R2

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut
    J'ai une fonction qui vérifie si le mois en cours est 01 et du coup, j'enleve une année...sinon j'enleve 1 mois..

    Mais a mon avis, il doit y avoir une fonction prédéfinie qui fait déjà ce calcul, non?

  3. #3
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Points : 685
    Points
    685
    Par défaut
    tu peux essayer avec Dateadd :

    Syntaxes Basic et Crystal

    Arguments
    "typeIntervalle" est une chaîne indiquant le type d'intervalle de temps à ajouter. Valeurs possibles :
    Valeur de type intervalle Description
    yyyy
    Année

    q
    Trimestre (période de trois mois)

    m
    Mois

    y
    Jour de l'année

    d
    Jour

    w
    Jour de semaine

    ww
    Semaine (période de 7 jours)

    h
    Heure

    n
    Minute

    s
    Seconde



    "nIntervalles" est un nombre ou une expression numérique indiquant le nombre d'intervalles à ajouter. Cette valeur peut être positive (pour générer une valeur de type date/heure dans l'avenir) ou négative (pour générer une valeur de type date/heure dans le passé).
    "dateHeureDébut" est la valeur de type date/heure à laquelle les intervalles doivent être ajoutés.
    Résultat
    Valeur de type date/heure

    Action
    DateAdd renvoie une valeur de type date/heure à laquelle a été ajouté le nombre d'intervalles indiqué.

    Exemple d'utilisation
    DateAdd permet d'ajouter des intervalles de temps à une valeur de type date/heure. La principale caractéristique de cette fonction est que la valeur de type date/heure renvoyée est toujours correcte. Par exemple, DateAdd tient compte du nombre de jours des différents mois et des années bissextiles. Si vous souhaitez ajouter ou soustraire des jours à dateHeure, vous pouvez utiliser les opérateurs d'addition et de soustraction au lieu de DateAdd en lui ajoutant le paramètre "d". Toutefois, la fonction DateAdd est plus complète, dans la mesure où elle permet également de gérer d'autres types d'intervalles de temps, par exemple ajouter des mois ou des jours à une valeur de type date/heure.

    Exemples
    Les exemples suivants sont applicables aux syntaxes Basic et Crystal :

    DateAdd("d", -32, #Sept 28, 1999#)

    Renvoie la valeur de type date/heure pour le 27 août 1999.

    DateAdd ("m", 1, #1/31/1996#)

    Renvoie la valeur de type date/heure pour le 29 février 1996. Notez que DateAdd ne renverra pas la valeur non valide "31 février 1996".

    DateAdd ("q", 17, #Sept 28, 1999#)

    Renvoie la valeur de type date/heure pour le 28.12.03.

    DateAdd ("h", -400, #Sept 28, 1999#)

    Renvoie la valeur de type date/heure pour le 11 septembre 1998 8:00:00. En d'autres termes, ce résultat est obtenu par la soustraction de 400 heures du 28 septembre 1999 12:00:00.

    Commentaires
    Cette fonction est conçue pour fonctionner comme la fonction qui porte le même nom dans Visual Basic.
    Pour ajouter des jours à une valeur de type date/heure, vous pouvez utiliser l'un des types d'intervalle de temps disponibles, soit "y", "d" ou "w". Ces paramètres se comportent de manière semblable avec DateAdd.
    DateAdd renvoie une valeur de type date/heure et non une valeur de date. Dans certains cas, vous devrez convertir cette valeur de type date/heure en valeur de date (par exemple, pour affecter à une variable de type date la valeur renvoyée par DateAdd). Pour effectuer cette conversion, il suffit d'utiliser DateAdd en combinaison avec la fonction de conversion CDate. Par exemple, la fonction suivante renvoie la valeur de date pour le 6 octobre 1997 :
    CDate(DateAdd("yyyy", -2, #October 6, 1999#))
    Les paysages sont plus beaux quand on transpire.
    Olaf Candau

Discussions similaires

  1. [Transact SQL] Trouver le premier jour du mois
    Par jowsuket dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 22/04/2013, 12h54
  2. Identifier le premier jour du mois précédent
    Par shadeoner dans le forum SQL
    Réponses: 8
    Dernier message: 05/06/2008, 18h38
  3. Afficher le Premier Jour Du Mois
    Par lido dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/11/2007, 11h08
  4. [Dates] date du premier jour du mois
    Par amel95140 dans le forum Langage
    Réponses: 3
    Dernier message: 11/04/2007, 14h48
  5. premier jour du mois
    Par ALLB dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 28/04/2006, 21h33

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