GNT sans publicité, site mobile, fonctionnalitées exclusives...

Date 1906 au lieu de 2006

Le
ordago
Bonjour.
Nous avons un programme d'interface développé par une société qui n'existe
plus. Nous avons les sources. Notre PB est le suivant:
Le programme d'interface transmet des mouvements de patients d'une
application A vers une application B. Il y a notamment de dates, l'année
étant codée sur 2 caractères (28/02/06) dans l'application A. Le programme
d'interface transforme l'année en 4 caractères (28/02/2006). On doit tenir
aussi compte du fait qu'il existe des dates 01/01/92 qui doivent-être
transformées en 01/01/1992.
Depuis le 01/01/2006, la date est transformée en 28/02/1906 au lieu de
28/02/2006.
Je ne suis pas expert en programmation, par contre j'ai repéré une partie du
code pouvant concerner mon PB:

If Val(Mid(Trim(TD("Datent")), 5, 2)) <= Val(Format(Year(Now), "yy")) Then
z_a = "20"
Else
z_a = "19"

Datent étant un champ récupéré dans l'application A.
Peut-on modifié ce code de manière à ce que les dates < sont transformées
en 20xx et les autres en 19xx ?
Ex: 20/01/06 => 20/01/2006
20/01/11 => 20/01/1911

Merci de votre aide.
Lire les 3 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Georges
Le #542335
Bonjour
Actuellement, votre code teste l'année reçue avec l'année en cours

Le test que vous souhaitez est le suivant

If Val(Mid(Trim(TD("Datent")), 5, 2)) <= 10 Then
z_a = "20"
Else
z_a = "19"
end if

A priori vous testez une date de naissance. Qu'allez-vous faire pour les
gens né avant 1910 ?

Cordialement
Georges


"ordago"
Bonjour.
Nous avons un programme d'interface développé par une société qui n'existe
plus. Nous avons les sources. Notre PB est le suivant:
Le programme d'interface transmet des mouvements de patients d'une
application A vers une application B. Il y a notamment de dates, l'année
étant codée sur 2 caractères (28/02/06) dans l'application A. Le programme
d'interface transforme l'année en 4 caractères (28/02/2006). On doit tenir
aussi compte du fait qu'il existe des dates 01/01/92 qui doivent-être
transformées en 01/01/1992.
Depuis le 01/01/2006, la date est transformée en 28/02/1906 au lieu de
28/02/2006.
Je ne suis pas expert en programmation, par contre j'ai repéré une partie
du
code pouvant concerner mon PB:

If Val(Mid(Trim(TD("Datent")), 5, 2)) <= Val(Format(Year(Now), "yy")) Then
z_a = "20"
Else
z_a = "19"

Datent étant un champ récupéré dans l'application A.
Peut-on modifié ce code de manière à ce que les dates < sont
transformées
en 20xx et les autres en 19xx ?
Ex: 20/01/06 => 20/01/2006
20/01/11 => 20/01/1911

Merci de votre aide.






Jean
Le #542139
Peut-on modifié ce code de manière à ce que les dates < sont transformées
en 20xx et les autres en 19xx ?


Plus ou moins un truc dans ce genre ci je suppose :

'---8<---VBS
Afficher Traiter_Date("01/01/92")
Afficher Traiter_Date("20/01/06")
Afficher Traiter_Date("20/01/11")

Function Traiter_Date(quoi)
Traiter_DateÍate(quoi)
If Year(Traiter_Date) > 2010 Then _
Traiter_DateÚteAdd("yyyy",-100,CDate(quoi))
End Function

Function Afficher(quoi)
WScript.Echo quoi
End Function
'---8<---VBS

Amicalement,

--
Jean - JMST
Belgium

ordago
Le #542136
Nous avons trouvé, il y avait une erreur de syntaxe:
La fonction Val(Format(Year(Now), "yy")) nous retoune toujours 5
En utilisant Val(Format(Now, "yy")), nous obtenons la valeur 6 (année de la
date du jour transformée en valeur)

En utilisant:
If Val(Mid(Trim(TD("Datsor")), 5, 2)) <= Val(Format(Now, "yy"))
nous corrigeons le PB.
Merci à vous.

Cordialement.


"Georges" wrote:

Bonjour
Actuellement, votre code teste l'année reçue avec l'année en cours

Le test que vous souhaitez est le suivant

If Val(Mid(Trim(TD("Datent")), 5, 2)) <= 10 Then
z_a = "20"
Else
z_a = "19"
end if

A priori vous testez une date de naissance. Qu'allez-vous faire pour les
gens né avant 1910 ?

Cordialement
Georges


"ordago"
Bonjour.
Nous avons un programme d'interface développé par une société qui n'existe
plus. Nous avons les sources. Notre PB est le suivant:
Le programme d'interface transmet des mouvements de patients d'une
application A vers une application B. Il y a notamment de dates, l'année
étant codée sur 2 caractères (28/02/06) dans l'application A. Le programme
d'interface transforme l'année en 4 caractères (28/02/2006). On doit tenir
aussi compte du fait qu'il existe des dates 01/01/92 qui doivent-être
transformées en 01/01/1992.
Depuis le 01/01/2006, la date est transformée en 28/02/1906 au lieu de
28/02/2006.
Je ne suis pas expert en programmation, par contre j'ai repéré une partie
du
code pouvant concerner mon PB:

If Val(Mid(Trim(TD("Datent")), 5, 2)) <= Val(Format(Year(Now), "yy")) Then
z_a = "20"
Else
z_a = "19"

Datent étant un champ récupéré dans l'application A.
Peut-on modifié ce code de manière à ce que les dates < sont
transformées
en 20xx et les autres en 19xx ?
Ex: 20/01/06 => 20/01/2006
20/01/11 => 20/01/1911

Merci de votre aide.











Publicité
Suivre les réponses
Poster une réponse
Anonyme