Problème avec le Type "Date" [Résolu]

sifflet_ 72 Messages postés mardi 25 juillet 2006Date d'inscription 2 mai 2007 Dernière intervention - 11 août 2006 à 15:03 - Dernière réponse : sifflet_ 72 Messages postés mardi 25 juillet 2006Date d'inscription 2 mai 2007 Dernière intervention
- 15 sept. 2006 à 13:39
Salut à tous!


Dans Access XP, je définis une variable de type Date. Par la suite je vais lui mettre des valeurs pouvant aller


du 1er janvier 2001 (01.01.2001)

au 31 décembre 2127 (31.12.2127)


Le problème que j'ai touvé dans l'help, c'est que le type date est limité de 1930 à 2029.
Y a-t-il moyen de changer ça et de mettre la date au format sur 4
digits ? Comme je dois faire des manipulations par la suite, je vais
passer le type en string et je bricolerai, mais je me demandais si vous
aviez peut-être d'autres solutions ?


Merci de vos réponses et, par avance, bon week-end !

Sifflet
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 août 2006 à 17:50
3
Merci
Salut
Ah les dates, on sera tjrs embété avec ces dates.
La solution que j'ai adopté est de stocker un simple chiffre et d'utiliser la fonction DateAdd avec un  référenciel au 01/01/2000 (comme ça existe pour les TimeStamp pour l'an zéro de l'informatique : 01/01/1970)

Dans ta DB, tu stockes le nombre de jours qui se sont écoulés depuis le 01/01/2000 :
Chiffre = DateDiff("d", "01/01/2000", Now)
Quand tu reliras ce chiffre, il te suffira de faire
laDate = DateAdd("d", Chiffre, "01/01/2000")

L'inconvénient, c'est que tu ne pourras pas afficher directement ton champ dans un formulaire puisqu'il nécessite un traitement

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Jack
sifflet_ 72 Messages postés mardi 25 juillet 2006Date d'inscription 2 mai 2007 Dernière intervention - 11 août 2006 à 15:07
0
Merci
quand je dis 4 digits, je parle pour l'année qui normalement est codée sur 2 digits. :-)


A+
Commenter la réponse de sifflet_
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 août 2006 à 18:00
0
Merci
Mais je viens de vérifier, le format Date/Heure accepte des valeurs allant de l'an 100 à 9999, ce qui couvre ta période.
Où as-tu vu cette limite à 2029 ?
Access XP : je ne connais pas, de quelle version s'agit-il ?

D'autre part, vérifie que ton format de donnée dans la DB a bien un format d'année sur 4 digits
(Menu Outil, Option, onglet Général : cases à cocher à propos des dates)
MAIS cela ne modifie pas la manière dont tes dates sont stockées dans ta DB.
Rappel : Pour envoyer une date dans un champ, il faut utiliser des #, exemple :
Insert into maTable Set maDate = #12/02/2129#
Commenter la réponse de cs_Jack
sifflet_ 72 Messages postés mardi 25 juillet 2006Date d'inscription 2 mai 2007 Dernière intervention - 15 sept. 2006 à 13:39
0
Merci
Salut!

merci de ta réponse et pardon d'y répondre si tard!


Avec Access XP, je viens de voir que tu peux choisir le format de la base Access 2000 ou 2002. Pour moi, c'est 2002.


Finalement, pour les opérations que je dois faire, je travaille tout
avec des strings et je fais des comparaisons, ça ne pose pas de
problèmes. C'est même mieux, car ces données proviennent d'une EEPROM.
Par exemple le jour est codé sur 5 bits (valeur max: 32). Quand on
efface la mémoire, on va écrire des "1" partout, donc si je la relis,
je lis le 32ème jour du mois => problème pour mettre dans une
variable de type date.


Par contre, j'ai utilisé ton truc pour un autre projet, donc c'était pas innutile...


Salut Merci encore et A+
Commenter la réponse de sifflet_

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.