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

Requêtes et SQL. Discussion :

Conversion de format texte en date ou extraction [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut Conversion de format texte en date ou extraction
    Bonjour à tous,

    J'aimerais savoir si je peux convertir une date qui provient d'un fichier texte sous ce format 01.01.2009 00:05 ou alors si je peux extraire le jour puis le mois puis l'année etc ... et les concatainer ensuite sous un format de date avant de les insérer dans une table.

    Merci d'avance pour votre aide et à bientôt.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 358
    Points
    34 358
    Par défaut
    salut,
    - tu peux ajouter les # ainsi que caster avec un Cdate() en principe
    l'aide en ligne t'aidera pour les syntaxe de la fonction Format() qui s'ensuivra

  3. #3
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour et merci de m'avoir répondu aussi vite.
    Je suis débutant et je ne comprend rien à la réponse, désolé.
    Existe t'il une fonction ou je ne sais comment l'apellée, qui me permette d'extraire une partie de la chaine suivante : 01.01.2009 00:05 ?

    Je veux extraire 01 (les deux premiers caractères de la chaine),
    puis 01 (les 4eme et 5eme caractères de la chaine) et ainsi de suite.

    En tous cas, merci de votre réponse, et si je n'y comprend rien, c'est de ma faute.

    A bientôt et encore merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Salut,

    Tu as besoin d'un minimum de connaissante en VBA pour formater ta date (voir les fonctions CDate, Format... (message de jpcheck) ) et ensuite pour mettre à jour ta table ..

    Sinon souhaites-tu utiliser une requête ajout ou mise à jour ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour les extractions regardes du coté des fonctions Left, Right et Mid, le tout à utiliser avec CDate comme dit précédement.

    Philippe

  6. #6
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour à tous,

    Je souhaite ajouter à une table des données contenant cette date.

    Encore merci.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peux-tu être plus clair dans tes explications.

    As-tu réussi la conversion au format Date ?

    Cette date que tu veux rajouter dans une table, elle est toute seule ? Elle est liée à d'autres enregistrements ?

    Ton fichier texte, tu en fais quoi ? Tu l'insères dans une table ? Si oui comment ?

    Philippe

  8. #8
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Re bonjour et encore merci.

    Oui j'ai réussi à convertir le format de date avec la fonction Mid.

    Ensuite je concatene mes champs de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    WSQL = "INSERT INTO T_DONNEES_TMP ( Numéro, JJ, MM, AA, HH, [MINUTE] ) "
    WSQL = WSQL + "SELECT T_DONNEES.Numéro, Mid([Date et Heure],1,2) AS JJ, Mid([Date et Heure],4,2) AS MM, Mid([Date et Heure],7,4) AS AA, Mid([Date et Heure],12,2) AS HH, Mid([Date et Heure],15,2) AS [MIN] "
    WSQL = WSQL + "FROM T_DONNEES "
    WSQL = WSQL + "WHERE (((T_DONNEES.DATE_JOUR) Is Null));"
     
    DoCmd.RunSQL WSQL
     
    WSQL = "UPDATE T_DONNEES INNER JOIN T_DONNEES_TMP ON T_DONNEES.Numéro = T_DONNEES_TMP.Numéro SET T_DONNEES.DATE_JOUR = [JJ], T_DONNEES.DATE_MOIS = [MM], T_DONNEES.DATE_ANNEE = [AA], T_DONNEES.DATE_HEURE = [HH], T_DONNEES.DATE_MINUTE = [MINUTE];"
     
    DoCmd.RunSQL WSQL
     
    WSQL = "UPDATE T_DONNEES SET T_DONNEES.DATES_CORRIGEES = [DATE_JOUR] & ' / ' & [DATE_MOIS] & ' / ' & [DATE_ANNEE];"
     
    DoCmd.RunSQL WSQL

    Je n'ai pas trouvé mieux pour le moment.

    A bientôt.

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Comme on te la proposé,

    tu aurais pu aussi simplement utiliser la fonction Format:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Format([Date et Heure],'dd') AS JJ

  10. #10
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour et merci à toi pour ta réponse.

    J'ai obtenu JJ après avoir extrait, grâce à la fonction Mid. Ensuite, j'ai fais comme j'ai pu. Je ne suis pas un expert et j'ai concaténé car je savais faire.

    Par contre, je retiens la solution pour la prochaine fois.

    Encore merci.

    Peut on marqué résolu, grâce à votre aide d'ailleurs ?

  11. #11
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Pardon,
    Je viens de voir sur ta réponse précédente que l'on pouvait créer un agenda sous access.

    Mon dernier directeur informatique avait créé un calendrier qui ressemblait au calendrier proposé par microsoft windows.

    Saurais tu comment faire ?

    Je recherche depuis un petit bout de temps.

    Merci d'avance. Peut être que cela fera l'objet d'un autre post.

    A bientôt.

  12. #12
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonsoir à tous,
    Je marque mon poste comme résolu car je suis parvenu à mes fins.
    Merci à tous et encore bravo pour vos compétences.
    Le sujet du calendrier reste ouvert.
    A bientôt.

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

Discussions similaires

  1. Conversion du format de la date
    Par fatnews dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/03/2015, 18h10
  2. Conversion de format texte en numérique
    Par idhmida dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 26/12/2013, 17h26
  3. Réponses: 2
    Dernier message: 05/08/2010, 08h58
  4. format texte vers date
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 18/11/2007, 16h59
  5. [Dates] Conversion d'un text en date
    Par sagitarium dans le forum Langage
    Réponses: 1
    Dernier message: 07/06/2006, 19h21

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