[Résolu] Dernier jour du mois
Stagiaire WDF
Inscrit:
19/04/2003 09:22
Post(s): 3
Bonjour,

Le code suivant me retourne 20060130 comme dernier jours du mois pour janvier. Idem pour tous les mois à 31 jours.

dMaDate est une Date

dMaDate..Jour=31
dMaDate..Mois=1
dMaDate..Année=2006
Info(dMaDate)

Le code suivant me retourne 20000228 au lieu de 2000229.

dMaDate est une Date

dMaDate..Jour=31
dMaDate..Mois=2
dMaDate..Année=2000
Info(dMaDate)

Version utilisée : W10 01F100062e sur WindowsXP SP2

Est-ce un bug windev ou une erreur d'interprétation de ma part.

Merci.

Contribution le : 10/09/2006 15:22

Edité par drcharly93 sur 12/9/2006 4:11:48
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
Utilisateur WDF
Inscrit:
30/07/2006 19:34
Post(s): 57
Je pense que c'est une erreur d'interprétation de l'utilité des fonctions jour/mois/année.
Entk, j'ai le même résultat (WD9-34j sous W2K)

Ceci fonctionne parfaitement :
dMaDate est une Date = "20060131"
Info(dMaDate+RC+"Jour : "+dMaDate..Jour+RC+"Mois : "+dMaDate..Mois+RC+"Année : "+dMaDate..Année)


Tu essayes de faire quoi ?

Contribution le : 10/09/2006 19:40
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
Stagiaire WDF
Inscrit:
19/04/2003 09:22
Post(s): 3
Bonjour Guardian,

Le but est de sélectionner, à l'aide d'une requête, des enregistrements pour un mois donné.

Les paramètres de ma requête sont donc "DateDebut" et "DateFin".

Je sais que tous les mois commencent le 1er et se terminent, selon les mois ou les années, soit le 30,le 31,le 28 ou le 29.

D'après l'aide de Windev, je ne dois pas me préoccuper du dernier jour du mois. Il suffit d'assiger 31 à la propriété jour de la date et Windev se charge de corriger.

Je connais l'année puisque je ne traite que les données d'une année civile (variable globale au projet).

Il me reste à déterminer le mois.
Pour ce faire, j'ai une combo avec tous les mois de l'année dans l'ordre (janvier, février, mars,.....).
Lors de la sélection du mois dans la combo, je récupère l'indice de la ligne (janvier=1, février=2, mars=3,....)

Ayant tous les élements, je reconstitue mes dates de paramètres:

DD est une date //DD pour date début
DD..jour = 1
DD..mois = indice de la ligne de la combo
DD..année = variable globale au projet

DF est une date //DF pour date fin
DF..jour = 31
DF..mois = indice de la ligne de la combo
DF..année = variable globale au projet

HExécuteRequête(MaRequête,hRequêteDéfaut,DD,DF)

Si le mois choisi se termine le 31, la requête ne me renvoie que les enregistrements compris entre le 1er et le 30.

J'espère avoir été suffisament clair.

Bonne journée.

Contribution le : 11/09/2006 07:49
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
DSI WDF
Inscrit:
13/02/2006 16:52
Post(s): 266
Ton souci est je pense évident !!!!

Essaye de procéder dans l'ordre !!!

Au lieu de paramétrer JOUR MOIS ANNEE

Essaye de paramétrer ANNE MOIS JOUR, car c'est en fonction de cela que ton dernier jour de mois est déterminé, d'ou le code :

sDate..Annee = 2002
sDate..Mois = 2
sDate..Jour = 31

Renverra bien 29/02/2002

J'espère avoir été clair, et tiens moi au courant si cela a corrigé ton soucis !!!

Contribution le : 11/09/2006 08:30
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
Stagiaire WDF
Inscrit:
19/04/2003 09:22
Post(s): 3
Merci Machou43,

Il suffisait effectivement de procéder dans l'ordre pour que cela fonctionne parfaitement.

Souci corrigé.

Bonne journée.

Contribution le : 11/09/2006 09:46
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
DSI WDF
Inscrit:
13/02/2006 16:52
Post(s): 266
Et oui la plupart des erreurs sont des erreurs de logiques ...

Heureux d'avoir pu t'aider !!!

Contribution le : 11/09/2006 10:58
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

Autre méthode pour trouver le dernier jour du mois (plus logique) :

Pour le mois de février, prendre le 1er jour du mois de mars (mois suivant) - 1 jour.

sDate..Annee = 2002
sDate..Mois = 3
sDate..Jour = 1
sDate..Jour -= 1

L'autre méthode devrait normalement renvoyer une date invalide :p

P.S.: Fonctionne quel que soit l'ordre d'affectation.

Bon dév.,

Totof

Contribution le : 11/09/2006 23:24
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: [Résolu] Dernier jour du mois
DSI WDF
Inscrit:
13/02/2006 16:52
Post(s): 266
L'autre méthode ne renverra pas une date invalide dans le sens ou d'après l'aide, quand on affecte 31 à la rubrique JOUR d'une variable date, cela veut dire qu'on veut le dernier jour du mois !!!

Par conséquent aucun soucis !!!

Contribution le : 13/09/2006 10:12
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

A moins que je n'utilise pas la bonne version le code suivant fonctionne parfaitement tel que le mentionne Machou43
dDate est une date

//On commence toujours par l'année, mois et jours
dDate..Année = 2004
dDate..Mois = 2
dDate..Jour = 31

Info(DateVersChaîne(dDate,"JJ/MM/AAAA"))
//Résultat : 29/02/2004

Contribution le : 13/09/2006 10:43
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Dernier jour du mois
DSI WDF
Inscrit:
13/02/2006 16:52
Post(s): 266
Pour une fois que je dis pas de conneries ...lol

Contribution le : 14/09/2006 08:47
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2