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 :

Pb de typage de données lors d'un import depuis un csv dans une table


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 129
    Par défaut Pb de typage de données lors d'un import depuis un csv dans une table
    Bonjour,

    je rencontre le pb suivant : je suis obligé de mettre tous les champs en type texte afin de pouvoir importer mes données alors que certains champs sont des nombre et d'autres des dates.

    Comment puis je faire pour transformer une donne qui est de type teste en autre chose sachant que j'utilise ce type de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With matable
       ![Nb CPU] = aData(14) 'le champ est declaré en numérique
       ![Date] = aData(15) ' le champ est declaré en date
    les aDate sont un split d'une ligne importer via un OpenAsTextStream

    je cherche depuis ce matin sur le forum et je ne trouve rien

    Merci d'avance pour votre aide

    Anax

  2. #2
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Salut,

    Tu as essayé avec les fonction de conversion CLng,CInt,CDate...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matable![Date] = CDate(aData(15))
    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 129
    Par défaut
    Bonsoir USer

    Merci d'avoir répondu mais je n'arrive pas avec cdate()
    il me dit : erreur execute 13 - incompatibilité de type et pourtant mon champ est bien en Date / heure

    Le texte que j'importe est comme ceci : jj/mm/aaaa hh:mm mais considéré comme du texte

    Merci pour ton aide

    Anax

  4. #4
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Salut,

    Pour debugger, mets 1 point d'arrêt juste avant cette instruction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ![Date] = CDate(aData(15)) ' le champ est declaré en date
    et regardes ce que contient aData(15)

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 129
    Par défaut
    Alors voici le code que j'ai ecris suivant ton conseil ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Debug.Print aData(15)
    Stop
    ![Date] = CDate(aData(15))
    Dans la fenetre de debug j'obtiens ceci : 31/08/2004 16:27

    Le champ date dans ma table est bien au format Date/heure general

    Merci encore pour ton aide

    Anax

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

Discussions similaires

  1. Récuperer les données d'un fichier txt pour les insérer dans une Table
    Par sandokhane dans le forum Bases de données
    Réponses: 47
    Dernier message: 31/05/2014, 15h10
  2. [MySQL] Importation d'un csv dans une base de données.
    Par Hotei dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/04/2010, 20h51
  3. [AC-2000] PB lors de l'import d'un csv dans une base
    Par zandeparis dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/11/2009, 21h02
  4. [AC-2000] gestion des erreurs lors de l'importation d'un CSV dans une table formaté
    Par zandeparis dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/11/2009, 23h45
  5. Réponses: 4
    Dernier message: 01/11/2007, 12h46

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