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 :

[A-03] Export table/requête fichier texte


Sujet :

VBA Access

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut [A-03] Export table/requête fichier texte
    Bonjour

    je pense que ce n'est pas le premier post a traiter de ce sujet mais là, j'ai vraiment un truc incompréhensible :
    j'ai deux table qu'on va appeler T1 et T2. Sur chacune de ces tables j'ai une requête (T1_req et T2_req)

    J'utilise la commande d'export au format texte comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    docmd.tranferText acExportDelim, ,"T1","D:\Mes Documents\T1.txt",true
    docmd.tranferText acExportDelim, ,"T1_req","D:\Mes Documents\T1_req.txt",true
    et idem pour T2 et T2_req

    Et ce que je ne comprend pas c'est que pour les tables il me génère des fichiers texte avec des délimiteurs " et séparés par des ; alors que pour les requêtes, il n'y a aucun délimiteur et les données sont séparées par une tabulation

    Je voudrais toujours avoir le format des requêtes (aucun délimiteur et avec des tabulations). J'ai essayé de passer par un fichier schema.ini mais Access n'a pas l'air de se préoccuper de son existence ou non.
    Je ne peux pas passer par la construction d'une spécification manuelle car les utilisateurs ont le droit de créer des tables/requêtes supplémentaires et il faut que l'export marche aussi pour ces tables-là sans avoir à modifier l'outil...

    quelqu'un aurait une idée qui pourrait me sortir de là ? Y-a-t-il un endroit où on peut spécifier les valeurs pas défaut pour les délimiteurs ... ? J'ai regardé dans les tables systèmes mais pour ça il faut définir une spécification...

  2. #2
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    Salut!
    Essaye cette astuce:
    Clique droit sur une table dans ta Base, "Exporter", choisis le format "texte".
    Quand tu cliqueras sur exporter, normalement un assistant va s'ouvrir, tu cliques sur "Avancé", tu règles les paramètres d'export comme tu les veux (tab, délimiteurs de texte...) et surtout enregistrer ce format d'exportation (et retenir le nom bien sûr).

    Là tu n'auras plus qu'à préciser ce nom de format dans ton transfertext (Je crois que tu dois le mettre juste avant le nom de la table/requête)
    Bon courage!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    Comme je précisais dans mon premier post, je ne peux pas utiliser cette technique car les utilisateurs peuvent importer eux-mêmes leur propres tables et par conséquent, je ne serai pas là pour faire le exporter manuel et pour modifier le code...

    Je crois que je suis foutue !

  4. #4
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    Oups, désolé...
    Je ne touches jamais aux tables systèmes mais il y a des champs qui ressemblent à ce que tu cherches dans "MSysIMEXSpecs".

    Essaye de voir , ils ont l'air de savoir ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    Merci pour ton aide.
    Après moult essais, j'ai fait du bricolage :

    je construit un fichier Access avec juste les en-tête de colonne que je veux.
    Ce fichier je le lie sous Access (comme une table liée mais derrière c'est un fichier) en utilisant un fichier schema.ini (dans ce cas là, il me prend bien en compte comme quoi faut jouer aux devinettes avec Access)
    puis je fais une instruction "insert into ma_table_fichier select * from ma_table"

    enfin je copie mon fichier texte résultat dans le nom que je veux pour pouvoir réutiliser mon fichier temporaire pour les autres tables à exporter.

    J'ai bien testé de vider la table MsysIMEXColumns et ça avait l'air de marcher jusqu'à ce que je me rende compte que ça marchait pas pour les champs mémo et qu'il me les tronquer à 255 char (longueur max d'un champ texte)

    Enfin maintenant ça marche et je compatis d'avance pour celui ou celle qui aura à comprendre mon code mais j'ai pas trouvé d'autres moyen

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

Discussions similaires

  1. [AC-2007] Export table en fichier texte
    Par dam2caro dans le forum Access
    Réponses: 0
    Dernier message: 30/05/2012, 11h38
  2. [AC-2003] export table vers fichier texte
    Par vali25 dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/03/2012, 20h05
  3. Erreur export de table vers fichier text ( code : 3441)
    Par piflechien73 dans le forum VBA Access
    Réponses: 8
    Dernier message: 18/04/2010, 20h05
  4. Mise à jour quotidienne d'une table via fichier texte
    Par chooky97150 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 31/08/2006, 22h00
  5. [VBA] Lier une table txt (fichier texte) à Access
    Par DPhBxl dans le forum Access
    Réponses: 1
    Dernier message: 08/08/2006, 14h33

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