OVH Cloud OVH Cloud

Problème de date ?

4 réponses
Avatar
le_troll
Bonjour

Je sors en erreur d'exécution 13 sur une conversion de date, voici ce
que j'ai fait:

Dim ladate as date
---text2 contient "1/2/-3"
ladate = CDate(Format(text2, "jj mm -yyyy")

Nb mes dates doivent aller de -4000 à 2100 environ, soit (-1) =
x/x/-0001
Certes s'il n'y a pas de solution, je peux remettre en forme par octet
et tester, mais bon...
Avez-vous une idée ?
--
Merci, @+, bye, Joe : ng75@noos.fr
----------------------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison.
----------------------------------------------------------

4 réponses

Avatar
Himselff
J'imagine que cest par rapport à une base de données si sa te donne une
erreur , ou ta varibel ,

La solution , pkoi déclarer ta variable as DATE ?
laisse la tout simplement en STRING ou en TEXTE dans ta base de données !

=)

--
*****************************************
Plus de café ? Trop de travail ?
Bloqué ? Désesperé ?
Va prendre l'air, fumer une cigarette,
Sa fonctionne a tout coup =)
****************************************************
Fred

www.dmsinc.ca
"le_troll" a écrit dans le message de news:
#
Bonjour

Je sors en erreur d'exécution 13 sur une conversion de date, voici ce
que j'ai fait:

Dim ladate as date
---text2 contient "1/2/-3"
ladate = CDate(Format(text2, "jj mm -yyyy")

Nb mes dates doivent aller de -4000 à 2100 environ, soit (-1) > x/x/-0001
Certes s'il n'y a pas de solution, je peux remettre en forme par octet
et tester, mais bon...
Avez-vous une idée ?
--
Merci, @+, bye, Joe :
----------------------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison.
----------------------------------------------------------






Avatar
le_troll
NOn, c'est en variable, mais justement j'utilise le type date pour tester
que c'est une vraie date de saisie...
--
Merci, @+, bye, Joe :
----------------------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison.
----------------------------------------------------------


"Himselff" a écrit dans le message de news:
0B%0c.5380$
J'imagine que cest par rapport à une base de données si sa te donne une
erreur , ou ta varibel ,

La solution , pkoi déclarer ta variable as DATE ?
laisse la tout simplement en STRING ou en TEXTE dans ta base de données !

=)

--
*****************************************
Plus de café ? Trop de travail ?
Bloqué ? Désesperé ?
Va prendre l'air, fumer une cigarette,
Sa fonctionne a tout coup =)
****************************************************
Fred

www.dmsinc.ca
"le_troll" a écrit dans le message de news:
#
> Bonjour
>
> Je sors en erreur d'exécution 13 sur une conversion de date, voici


ce
> que j'ai fait:
>
> Dim ladate as date
> ---text2 contient "1/2/-3"
> ladate = CDate(Format(text2, "jj mm -yyyy")
>
> Nb mes dates doivent aller de -4000 à 2100 environ, soit (-1) > > x/x/-0001
> Certes s'il n'y a pas de solution, je peux remettre en forme par


octet
> et tester, mais bon...
> Avez-vous une idée ?
> --
> Merci, @+, bye, Joe :
> ----------------------------------------------------------
> Avec une hache, celui qui tient le manche a toujours raison.
> ----------------------------------------------------------
>
>
>
>




Avatar
Himselff
tu peux toujours valider la chaîne de charactère non ?

year = left(date,4)
mois = mid(date,2,6)
jour = mid(date,2,9)

if year < -2000 or > 3000 then
etc .......

rien de trop compliquer mais qui tassure sans te forcer que c'est une date !

--
*****************************************
Plus de café ? Trop de travail ?
Bloqué ? Désesperé ?
Va prendre l'air, fumer une cigarette,
Sa fonctionne a tout coup =)
****************************************************
Fred

www.dmsinc.ca
"le_troll" a écrit dans le message de news:
ORcN$
NOn, c'est en variable, mais justement j'utilise le type date pour tester
que c'est une vraie date de saisie...
--
Merci, @+, bye, Joe :
----------------------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison.
----------------------------------------------------------


"Himselff" a écrit dans le message de news:
0B%0c.5380$
> J'imagine que cest par rapport à une base de données si sa te donne une
> erreur , ou ta varibel ,
>
> La solution , pkoi déclarer ta variable as DATE ?
> laisse la tout simplement en STRING ou en TEXTE dans ta base de données


!
>
> =)
>
> --
> *****************************************
> Plus de café ? Trop de travail ?
> Bloqué ? Désesperé ?
> Va prendre l'air, fumer une cigarette,
> Sa fonctionne a tout coup =)
> ****************************************************
> Fred
>
> www.dmsinc.ca
> "le_troll" a écrit dans le message de news:
> #
> > Bonjour
> >
> > Je sors en erreur d'exécution 13 sur une conversion de date, voici
ce
> > que j'ai fait:
> >
> > Dim ladate as date
> > ---text2 contient "1/2/-3"
> > ladate = CDate(Format(text2, "jj mm -yyyy")
> >
> > Nb mes dates doivent aller de -4000 à 2100 environ, soit (-1) > > > x/x/-0001
> > Certes s'il n'y a pas de solution, je peux remettre en forme par
octet
> > et tester, mais bon...
> > Avez-vous une idée ?
> > --
> > Merci, @+, bye, Joe :
> > ----------------------------------------------------------
> > Avec une hache, celui qui tient le manche a toujours raison.
> > ----------------------------------------------------------
> >
> >
> >
> >
>
>




Avatar
le_troll
Re: Problème de date ?

Bonsoir, non, on est obligé de tester octet par octet, car on ne sait pas si
le mec a mis des slash, combien, où, etc... Ça oblige:

boucle inversé testée octet par octet
stop 1er slash, mis en forme de l'année (qui peut être négative "-0000"
stop 2eme slash, mise en forme mois "00"
stop 3 eme slash, mise en forme jour "00"
Test si jour et mois possible avec année (29,30 et 31), bissextile,
séculaire...
Test date, si entre réforme julienne et grégorienne et année 0...

Je sais faire mais c'est long, voila pourquoi je me sers d'une variable date
pour vérifier la validité, sauf que ce truc ça marche quand ça a le temps...

Je reposte, car ma question est trop loin est plus personne n'y répond, mrci
à toi sinon...

----- Original Message -----
From: "Himselff"
Newsgroups: microsoft.public.fr.vb
Sent: Tuesday, March 02, 2004 4:22 PM
Subject: Re: Problème de date ?


tu peux toujours valider la chaîne de charactère non ?

year = left(date,4)
mois = mid(date,2,6)
jour = mid(date,2,9)

if year < -2000 or > 3000 then
etc .......

rien de trop compliquer mais qui tassure sans te forcer que c'est une date


!

--
*****************************************
Plus de café ? Trop de travail ?
Bloqué ? Désesperé ?
Va prendre l'air, fumer une cigarette,
Sa fonctionne a tout coup =)
****************************************************
Fred

www.dmsinc.ca
"le_troll" a écrit dans le message de news:
ORcN$
> NOn, c'est en variable, mais justement j'utilise le type date pour


tester
> que c'est une vraie date de saisie...
> --
> Merci, @+, bye, Joe :
> ----------------------------------------------------------
> Avec une hache, celui qui tient le manche a toujours raison.
> ----------------------------------------------------------
>
>
> "Himselff" a écrit dans le message de news:
> 0B%0c.5380$
> > J'imagine que cest par rapport à une base de données si sa te donne


une
> > erreur , ou ta varibel ,
> >
> > La solution , pkoi déclarer ta variable as DATE ?
> > laisse la tout simplement en STRING ou en TEXTE dans ta base de


données
!
> >
> > =)
> >
> > --
> > *****************************************
> > Plus de café ? Trop de travail ?
> > Bloqué ? Désesperé ?
> > Va prendre l'air, fumer une cigarette,
> > Sa fonctionne a tout coup =)
> > ****************************************************
> > Fred
> >
> > www.dmsinc.ca
> > "le_troll" a écrit dans le message de news:
> > #
> > > Bonjour
> > >
> > > Je sors en erreur d'exécution 13 sur une conversion de date,


voici
> ce
> > > que j'ai fait:
> > >
> > > Dim ladate as date
> > > ---text2 contient "1/2/-3"
> > > ladate = CDate(Format(text2, "jj mm -yyyy")
> > >
> > > Nb mes dates doivent aller de -4000 à 2100 environ, soit (-1) > > > > x/x/-0001
> > > Certes s'il n'y a pas de solution, je peux remettre en forme par
> octet
> > > et tester, mais bon...
> > > Avez-vous une idée ?
> > > --
> > > Merci, @+, bye, Joe :
> > > ----------------------------------------------------------
> > > Avec une hache, celui qui tient le manche a toujours raison.
> > > ----------------------------------------------------------
> > >
> > >
> > >
> > >
> >
> >
>
>






--
Merci, @+, bye, Joe :
----------------------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison.
----------------------------------------------------------


"Himselff" a écrit dans le message de news:
RC11c.5623$
tu peux toujours valider la chaîne de charactère non ?

year = left(date,4)
mois = mid(date,2,6)
jour = mid(date,2,9)

if year < -2000 or > 3000 then
etc .......

rien de trop compliquer mais qui tassure sans te forcer que c'est une date


!

--
*****************************************
Plus de café ? Trop de travail ?
Bloqué ? Désesperé ?
Va prendre l'air, fumer une cigarette,
Sa fonctionne a tout coup =)
****************************************************
Fred

www.dmsinc.ca
"le_troll" a écrit dans le message de news:
ORcN$
> NOn, c'est en variable, mais justement j'utilise le type date pour


tester
> que c'est une vraie date de saisie...
> --
> Merci, @+, bye, Joe :
> ----------------------------------------------------------
> Avec une hache, celui qui tient le manche a toujours raison.
> ----------------------------------------------------------
>
>
> "Himselff" a écrit dans le message de news:
> 0B%0c.5380$
> > J'imagine que cest par rapport à une base de données si sa te donne


une
> > erreur , ou ta varibel ,
> >
> > La solution , pkoi déclarer ta variable as DATE ?
> > laisse la tout simplement en STRING ou en TEXTE dans ta base de


données
!
> >
> > =)
> >
> > --
> > *****************************************
> > Plus de café ? Trop de travail ?
> > Bloqué ? Désesperé ?
> > Va prendre l'air, fumer une cigarette,
> > Sa fonctionne a tout coup =)
> > ****************************************************
> > Fred
> >
> > www.dmsinc.ca
> > "le_troll" a écrit dans le message de news:
> > #
> > > Bonjour
> > >
> > > Je sors en erreur d'exécution 13 sur une conversion de date,


voici
> ce
> > > que j'ai fait:
> > >
> > > Dim ladate as date
> > > ---text2 contient "1/2/-3"
> > > ladate = CDate(Format(text2, "jj mm -yyyy")
> > >
> > > Nb mes dates doivent aller de -4000 à 2100 environ, soit (-1) > > > > x/x/-0001
> > > Certes s'il n'y a pas de solution, je peux remettre en forme par
> octet
> > > et tester, mais bon...
> > > Avez-vous une idée ?
> > > --
> > > Merci, @+, bye, Joe :
> > > ----------------------------------------------------------
> > > Avec une hache, celui qui tient le manche a toujours raison.
> > > ----------------------------------------------------------
> > >
> > >
> > >
> > >
> >
> >
>
>