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

Access Discussion :

parser les dates en access


Sujet :

Access

  1. #1
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut parser les dates en access
    Bonjour,

    j'ai une série de row à faire rentrer dans une table en access. Elles ont été générée par sql developper de oracle et je dois maitenant les adapter pour que access les digère.

    Le truc sur lequel je coince, c'est ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_timestamp('12/02/05 00:00:00,000000000','DD/MM/RR HH24:MI:SS,FF')
    qui correspond au 12 février 2005.

    Comment transformer ceci pour que access reconnaisse la date? (vu que la fonction to_timestamp est spécifique oracle)

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Tu veux juste récupérer la partie date ou tu dois générer la même structure que Oracle.

    Pour récupérer la date tu peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateSerial("20" & mid([TonChampDate],7,2), mid([TonChampDate],4,2), mid([TonChampDate],1,2)
    Qui va convertir les 8 premiers caractères en date.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    non, je dois pas la récupérer mais la faire rentrer dans la base. (String -> date). De fait, seule la partie date a de l'importance (le reste étant à 0 partout). Cependant, j'ai des dates du style

    12/02/05
    04/08/95
    etc

    Comment je fait le test
    "si deux chiffres d'années < 50 alors utiliser
    DateSerial("20" & mid([TonChampDate],7,2), mid([TonChampDate],4,2), mid([TonChampDate],1,2)
    sinon utiliser
    DateSerial("19" & mid([TonChampDate],7,2), mid([TonChampDate],4,2), mid([TonChampDate],1,2)
    ?

    En attendant je vais voir si oracle ne me permet pas un format plus facile à parser. Je pensais qu'access aurait une fonction type "parse date" où je lui aurait fourni le format à utiliser.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateSerial(iif(mid([TonChampDate],7,2)<"50","20","19") & mid([TonChampDate],7,2), mid([TonChampDate],4,2), mid([TonChampDate],1,2)
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    un grand merci, je teste ça dès que possible.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser les dates sur Access
    Par Dadou09 dans le forum Access
    Réponses: 1
    Dernier message: 11/11/2014, 16h53
  2. [VB.NET] Lire les dates d'une bd access dans un form Vb.net
    Par Herlece dans le forum Accès aux données
    Réponses: 6
    Dernier message: 03/01/2006, 09h38
  3. MS Access et TQuery (probleme sur les dates)
    Par Djob dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/06/2004, 14h57
  4. [Interbase] [Access] les dates
    Par AnestheziE dans le forum InterBase
    Réponses: 17
    Dernier message: 26/11/2003, 14h40

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