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

VBA Access Discussion :

Problèmes sur affichage dates dans table. Pourquoi ?


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Cartographie
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Cartographie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Problèmes sur affichage dates dans table. Pourquoi ?
    Bonjour à tous,

    Je rencontre des problèmes d'affichage de format de date dans une table Access.

    Au départ, j'ai un fichier texte dans lequel les dates de naissance sont "éclatées" sur 3 champs distincts : JR, MS et AN.

    Via Access, je lance une procédure Excel, qui va procéder à différents traitements sur ce fichier texte, et notamment concaténer les dates de naissance dans un nouveau champ et les mettre au format mm/dd/yyyy car j'ai cru comprendre que c'était le seul format pris en compte par VBA et SQL pour les calculs sur les dates.

    A l'issue de ces traitements, le fichier texte est enregistré en format xlsx, puis est importé, dans une table Access.

    Dans cette table, je constate que si le chiffre du jour de naissance est inférieur à 12, il n'est pas inversé avec le chiffre du mois comme il le devrait, par exemple : 04/01/1952 ne devient pas 01/04/1952. En revanche, si le jour de naissance est supérieur à 12, la date de naissance est affichée dans le bon format. Evidemment, tout cela fausse mes calculs.

    A noter que dans le fichier xlsx enregistré à l'issue des traitements, les dates de naissance sont dans le bon ordre, et que dans Access, j'ai bien spécifié le format du champ en question en mm/jj/aaaa.

    Pourquoi ces changements ? Où me suis-je trompé ?

    Merci à tous ceux qui voudront bien m'éclaircir les choses.

    Bien cordialement.

  2. #2
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Ne pas confondre "date" et format "d'affichage".
    Une date est un numérique.
    Le format d'affichage permet de visualiser cette date d'une manière ou d'une autre.
    Effectivement en VBA et surtout en SQL lorsque l'on manipule des dates elles sont au format anglo saxon.
    Mais dans Access, un champ date est "date" peut importe son format d'affichage
    Pourquoi passer dans Excel pour transformer ton fichier Texte ?
    Surtout que dans Access (en VBA) il existe une fonction "DateSerial" qui te retourne la valeur d'une date en fonction, de l'année, du mois et du jour.
    Exemple pour le 12 février 2015:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateSerial(2015, 2, 12)
    Plus de souci de format
    @+


    Pensez au tag

  3. #3
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Choisie le format jj/mm/aaaa pour access et excel. Si excel voit les données comme date (ce qu'il faut effectivement vérifier!) il n'y a pas de raison que les données soient faussées.
    La solution avec dateserial évite tout problème mais exigera au moins un traitement de plus dans access.
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

Discussions similaires

  1. [WD17] Problème affichage données dans table
    Par Dawlon dans le forum WinDev
    Réponses: 6
    Dernier message: 27/10/2012, 16h37
  2. problème d'affichage d'une table dans une JSP
    Par ikouhan dans le forum Struts 1
    Réponses: 13
    Dernier message: 30/07/2010, 13h58
  3. condition sur date dans table
    Par morgane32 dans le forum Modélisation
    Réponses: 4
    Dernier message: 15/10/2008, 10h51
  4. Réponses: 1
    Dernier message: 01/05/2008, 08h26
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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