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 :

Importer fichier csv dans une table [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 21
    Points
    21
    Par défaut Importer fichier csv dans une table
    Bonjour,

    j'utilise un code pour importer un fichier csv mais il ne marche pas. L'importation s’effectue mais la table et vide et ne contient plus que un champs (qui n’existe même pas dans le csv en plus).

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.TransferText acImportDelim, , "MaTable", 
    Le chemin du csv, True
    Je suppose que le code pour l'import de csv n'est pas celui la non? j'ai cherché mais sans résultat, les autres codes que j'ai trouvé ne fonctionnent pas non plus.

    Merci de votre aide.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    La table existe déjà ou tu veux la créer lors de l'import ?

    Si "MaTable" correspond bien dans ton code au SpecificationName c'est-à-dire au nom du format d'importation, celui-ci est-il bien défini et sauvegardé sous ce nom et avec un bon séparateur et les bons champs ?

    Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferText acImportDelim, "FormatImportMatable", "MaTable", "c:\Matable.csv", True
    Te permettra d'importer vers la table "MaTable" de ta base, le fichier MaTable.csv du disque C, en utilisant le format d'importation (qui doit être bien défini) "FormatImportMatable".

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    bonsoir et merci de votre réponse.

    La table existe déjà. elle est identique a mon fichier csv
    qu'entendez vous par format d'importation?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Le format d'importation est le deuxième paramètre, juste après acImportDelim.

    Il faut le définir avant de pouvoir l'utiliser et ce n'est pas très pratique.

    Le seul moyen que je connais, c'est de passer par le menu de Access.
    Il faut commencer à importer manuellement le fichier (j'ai 2010 donc je ne me rappelle plus le chemin exact sur 2003, sur 2010 c'est "Données externes / importer / fichier texte).
    Choisir normalement "Ajouter une copie des enregistrements..." (encore que cela a peu d'importance pour définir le format d'import).
    Sur les 2 écrans suivants, choisir le séparateur pour que cela fonctionne (virgule ou point virgule, vraisemblablement, pour un csv), cliquer sur "Avancé": voici l'écran de définition du format d'importation: il est possible de faire "enregistrer sous" (par exemple sous le nom "FormatMaTable") pour le sauvegarder et l'utiliser ensuite dans VBA.
    Si la table existe déjà, elle doit contenir suffisamment de champs et ceux-ci doivent être bien formatés (impossible d'insérer du texte dans une zone numérique par exemple).

    Bien sûr, il faudra modifier le format (en l'appelant sur le même écran avec "paramètre") si le format de la table et du fichier sont modifiés.

    Et ensuite, il suffit de l'utiliser comme second paramètre pour s'assurer que l'import se fait comme on veut.

    Perso, je n'utilise pas trop "True" à la fin: inutile si la table est bien définie. Mais ça peut être un contrôle supplémentaire,tout dépend de ce que vous voulez faire exactement.

    voilà j'espère que ces explications sont claires et pourront aider

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Merci!

    Super ton explication. ça marche!
    c’était à cause du format que l'importation avait des loupés.

    Encore merci j'aurais pas trouvé tout seul.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/09/2008, 15h44
  2. Importer un fichier csv dans une table mdb
    Par pobrouwers dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/12/2007, 14h17
  3. [WD9] Importer un fichier csv dans une table
    Par cactus666 dans le forum WinDev
    Réponses: 1
    Dernier message: 01/10/2007, 14h07
  4. Importer un fichier CSV dans une table mySQL
    Par crazydiver_e2 dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/01/2007, 10h47
  5. Impossible d'importer un fichier csv dans une table sous MySQL
    Par manue85 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 20/04/2006, 12h06

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