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 de format des date


Sujet :

VBA Access

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut problèmes de format des date
    bonjour

    voila mon soucis:
    je dois traiter des données qui viennent d'une autre base qui ne peut pas etre modifiée. Cette db contient des date et heures de début et de fin de connexions. Seulement les champs contenant les date et heure sont de types 'text' et non pas 'date/time'.et elles sont ecrite sous le format suivant:
    2008-03-25|08:57:43
    aaaa-mm-jj|hh:mm:ss

    j'aimerais savoir comment je pourrais faire pour pouvoir facilement traiter ces données sachant que je dois creer des graphiques pour une periode données et égalemment pouvoir faire des calcul de temps cumulés.
    est-ce possible de les convertir automatiquement?
    merci pour votre aide

  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 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    pour changer le type de champ on passe par une requete ALTER TABLE,
    pour le changement préalable tu peux faire comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE MaTable SET MonChamptxt = REPLACE(Left(MonChamtxt,10),"-","/")
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    merci de ton aide mais la base qui contient les données ne peut pas etre modifiée. il faudrait donc que je recrée une table oú je recopierais les données de l'autre table? en y faisant ta manip?
    Tout n'est pas très claire dans mon esprit desolé je commence en access.
    Il y a encore un point qui me preoccupe la db(celle qui ne peut etre modifiée) est constamment mise a jour, je suppose que pour faire la manip de recopier la table dans une nouvelle je dois utilisé une requete, et ne risque -t-il pas d'y avoir des doublons?
    par ex:

    le 1/01 je fais la 1ere requete ma table1 est recopiée dans la table2 (avec les modif des date)
    le 2/02 je refais la requete me permettant la copie
    ainsi de suite

    merci

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

    Si tu ne peux pas modifier les données de la table, il faut que tu fasses la transformation dans les requêtes que tu utilises pour exploiter les données.

    Pour ne pas tout refaire à chaque fois, je te conseille de créer un fonction qui te renvoie une valeur de type date. Ainsi tu pourras l'utiliser dans toutes tes requêtes.

    Starec

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Un truc du genre devrait te permettre de résoudre ton problème :

    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
    16
    17
    18
    19
     
    public function ConvertirDateHeure(prmDateHeure as variant) as variant
      dim result as variant
     
      if not isNull(prmDateHeure) then
     
          if trim(prmDateheure)<>"" then
              result=dateserial(mid(prmDateHeure, 1, 4), mid(prmDateHeure, 6,2), mid(prmDateHeure, 9,2) + timeSerial(mid(prmDateHeure,12,2), mid(prmDateHeure,15,2), mid(prmDateHeure,18,2))
            else
              result=null
          end if
     
        else
          result=null
      end if
     
      ConvertirDateHeure=result
     
    end function
    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.

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    merci pour cette fonction!
    je viens de la tester et elle fonctionne a merveille (juste un soucis de parenthese lol)

    encore merci!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/04/2013, 09h31
  2. problème de format des dates!
    Par NicolasMO dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/09/2007, 11h17
  3. Format des dates
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h03
  4. [C#] Format des dates pour une ComboBox...
    Par frechy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/01/2005, 17h08
  5. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19

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