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 :

Gestion des spécifications d'import d'un fichier texte


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut Gestion des spécifications d'import d'un fichier texte
    Bonjour,

    J'ai des fichiers texte à importer qui contiennent deux parties :
    1/ La définition du format des données
    2/ La liste des données
    ex :
    DEF TYPE CHAR 1 6
    DEF CLASSE CHAR 7 10
    DEF CODE INT 11 15
    DEPOT TITR 00001
    CMPTE AVUE 00001
    CMPTE BLOQ 00002
    (en réalité, ils sont bien plus compliqués que ça évidemment)

    Le format change selon le fichier.

    J'ai fait une fonction qui analyse la première partie, crée une table de réception puis charge ligne a ligne la partie données.

    Cela fonctionne très bien, mais c'est très long pour les fichiers > à 20 Mo qui sont assez fréquents.

    Pour ce type de fichier il est plus rapide d'importer manuellement le fichier, mais c'est pénible car il faut à chaque fois créer la table de destination puis définir le format d'importation.

    C'est pourquoi je voulais savoir s'il est possible de créer par VBA des spécifications d'importation que j'utiliserai avec la fonction transferText.

    J'ai lu sur des forum qu'il était possible d'utiliser des fichiers ini pour remplacer les spécifications d'importation, mais je n'ai pas réussit à mettre cette solution en oeuvre.

    De même, je n'arrive pas à intervenir dans la table MSysIMEXSpecs qui semble gérer les spec d'import.

    Est-ce que quelqu'un à une solution ou une piste de solution à me proposer ?

    L'idée à terme serait d'abvoir un processus d'importation plus rapide et totalement automatisé qui se déroulerait ainsi :
    1/ Analyse du format des données (déjà fait)
    2/ Création de la table de destinataion (déjà fait)
    3/ Création des spécifications d'importation (A FAIRE)
    5/ Suppression de la partie définition du fichier source pour ne conserver que la partie données. (j'ai un code que je doit pouvoir adapter pour faire ça)
    4/ Chargement des données avec transferText (pas bien compliqué)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Bonjour,
    Tu peux ajouter des spec d'import au tables MSysIMEXSpecs (spécifications mécaniques) et MSysIMEXColumns (spécification des formats de champs) par requête.
    Attention aux cohérences de noms et d'index !

  3. #3
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Merci beaucoup pour l'info.

    c'est tout bon. ça marche nickel.

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

Discussions similaires

  1. [DATA] Vérification des formats à l'importation d'un fichier csv
    Par nowake dans le forum SAS Base
    Réponses: 11
    Dernier message: 24/04/2013, 12h23
  2. Réponses: 3
    Dernier message: 30/11/2008, 21h49
  3. Réponses: 2
    Dernier message: 20/08/2008, 12h34
  4. Export des spécifications d'import
    Par dut-dut dans le forum Access
    Réponses: 2
    Dernier message: 17/07/2008, 14h50
  5. [VBS] Gestion des espaces dans le chemin de fichiers
    Par Edoxituz dans le forum VBScript
    Réponses: 4
    Dernier message: 23/02/2006, 17h41

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