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

WinDev Discussion :

[WD10] Ajout sur Date


Sujet :

WinDev

  1. #1
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut [WD10] Ajout sur Date
    Bonjour tout nouveau venu, je suis pas encore convaincu de migrer sur WinDev.

    Existe t il une fonction du style dateAdd()?

    Le but etant d'ajouter un nombre de jours, mois, années et autres à une date.

    merci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Évidemment

    Si vous êtes en phase de réflexion concernant WinDev, lisez ceci

  3. #3
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    le forum ne marchait pas hier.

    Mais c'est bien ce que je pense, il n'y a pas d'ajout sur date, on est à chaque fois obligé de passer la date en string, ajouter puis reconvertir en date?

    dans ce cas, il serait utile de se faire sa propre fonction, mais ca m'étonne que windev, ne gere pas une fonction si courante??

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    De quelle version de Windev parles-tu ?

  5. #5
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    la 10.

    je sais pas, si il existe une fonction de calcul sur les dates, comme dateAdd sur access, quelle est elle?

    j'ai vu que la solution etait de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DateDepart, DateFin est date
     
    DateDepart = 20030101
     
    DateFin = Datedepart..mois+24
    apres je peux ecrire une classe ou l'on passe la date initiale, le chiffre à ajouter et le type (Jours, mois annee), mais je suis surpris de voir qu'il n'existe pas cette fonction

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Voici le code de calcul de totalisation et moyenne de l'exemple WD Calculs sur dates et heures [WD9]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    // Calculs du total et des moyennes
     
    dDuréeTot,dDuréeMoy,dDurée1,dDurée2,dDurée3 sont des Durées
     
    dDurée1..Minute	=	Val(HEUREMIN[[3 A 4]])
    dDurée1..Heure	=	Val(HEUREMIN[[1 A 2]])
    dDurée1..Jour	=	NBJOURS
     
    dDurée2..Minute	=	Val(HEUREMI_1[[3 A 4]])
    dDurée2..Heure	=	Val(HEUREMI_1[[1 A 2]])
    dDurée2..Jour	=	NBJOURS_1
     
    dDurée3..Minute	=	Val(HEUREMI_2[[3 A 4]])
    dDurée3..Heure	=	Val(HEUREMI_2[[1 A 2]])
    dDurée3..Jour	=	NBJOURS_2
     
    dDuréeTot=dDurée1+dDurée2+dDurée3
     
    // Durée Totale
    TOTAL = dDuréeTot..Jour + " jours, " + dDuréeTot..Heure + " heures et " + dDuréeTot..Minute + " minutes"
     
    // Durée Moyenne
    dDuréeMoy = dDuréeTot / 3
    MOYENNE = dDuréeMoy..Jour + " jours, " + dDuréeMoy..Heure + " heures et " + dDuréeMoy..Minute + " minutes"
    Capture d'écran en annexe

  7. #7
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    merci pour le code.

    CE que je veux dire par il n'y a pas de fonction predefini serait une fonction du style:

    dateAdd(22/03/2007,2,j)

    qui retournerait 24/03/2007

    ou 22/03/2007 = date initiale
    ou 2 = nombre à rajouter
    ou j = jours

    si on met m par exemple, ca ajouterait 2 mois.

    pour avoir une fonction comme ca il faudrait creer sa propre classe.
    Pourtant c'est tellement commun...

    c'est ca que je comprends pas, il ont bien mis un dateDifference..

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Ecrire

    NewDate = addDate( MaDate, 2, m)

    ou

    NewDate = Madate..mois + 2

    Je vois pas ce que ça change.

    Je dirais même que

    MaDate = AddDate( MaDate, 15, j)
    MaDate = AddDate( MaDate, 1, m)

    C'est plus long que

    MaDate..jour += 15
    MaDate..mois += 1


  9. #9
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Bonjour

    Il y a ceci :

    Madate est une date = "20070101"
    MaDate..Mois = 3
    MaDate..Année = 2008
    MaDate..Jour = 1

    Par contre, il faut tester les bornes si tu fais "MaDate..Jour = 1 - 3" il ne va pas passer au mois précédent (a ma connaissance)

    tu peux aussi faire comme ceci

    MaDate est une date
    MaDate = entierversdate(dateversentier(MaDate) -1) et là ça va marcher...
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

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

Discussions similaires

  1. [AC-2007] ajout sans doublon sur date ( même journée)
    Par wushu29 dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 12/01/2011, 11h37
  2. Requete ajout de date sur un enregistrement précis.
    Par Chagui dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/09/2010, 17h30
  3. [AC-2000] Ajouter 1 mois sur date format month/year
    Par Ckikikirame dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/09/2009, 20h03
  4. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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