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 un fichier TXT dans un champs déterminé [AC-2007]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut Importer un fichier TXT dans un champs déterminé
    Bonjour à tous,


    Est-il possible d'importer le contenu complet d'un fichier TXT dans un champ défini d'un enregistrement/record via un formulaire?

    Je ne peux pas utiliser la fonction "DoCmd.TransferText" et le chemin d'accès du fichier TXT est toujours le même sauf que son contenu chance tout le temps. Je voudrais importer le contenu complet du fichier TXT dans un champs "Importation" d'un enregistrement bien défini (celui qui est affiché dans le formulaire).

    Merci pour aide

    JiB@

  2. #2
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 291
    Points
    291
    Billets dans le blog
    1
    Par défaut
    bonjour,

    c'est un peu étrange de mettre le contenu d'un fichier dans un champ mais tu peux procéder de la manière suivante:

    -ouvrir le fichier txt (soit en utilisant FSO ou directement avec l'instruction Open)
    -parcourir le fichier ligne par ligne en mettant le contenu dans une variable
    -fermer le fichier
    -affecter le contenu de la variable à ton champ Me.monchamp= mavariable

    pour le traitement des fichiers, le forum propose pas mal de post, il y a également ce tuto http://warin.developpez.com/access/fichiers/
    je crois aussi qu'il a un tuto sur des scripts vbs dont tu peux t'inspirer mais je ne sais plus où!

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Merci elnipal !

    Problème résolu. En effet, ça n'est pas courant, voir même étrange mais je ne sais pas faire autrement pour ce que je veux faire.

    @+

    JiB@

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Bonjour,


    J'utilise ce script qui fonctionne bien mais qui a ses limites:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    intFic = FreeFile
    Open "C:\test\1.txt" For Input As intFic
    While Not EOF(intFic)
        Line Input #intFic, strLigne
        Me.Note = strLigne
    Wend
    Close intFic
    Le fichier 1.txt est structuré de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Ligne1
    Ligne2
    Ligne3
     
    Ligne5
     
    Ligne7
    Et avec le script ci-dessus, la Ligne7 UNIQUEMENT se trouve dans le champs Note.
    Je voudrais que la Ligne1 à Ligne7 se trouve dans le champs Note.

    Est-ce que vous pourriez me proposer une solution ou des idées?

    Merci d'avance

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour

    A chaque fois, vous écrasez le contenu de la zone de texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    intFic = FreeFile
    Open "C:\test\1.txt" For Input As intFic
    While Not EOF(intFic)
        Line Input #intFic, strLigne
        Me.Note = Me.Note & vbCrLf & strLigne
    Wend
    Close intFic

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    SUPER !

    Merci, ça fonctionne!

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

Discussions similaires

  1. [AC-2010] Import contenu fichier .txt dans un champ mémo
    Par vversaveau dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/02/2011, 15h27
  2. importer un fichier .txt dans une table
    Par caracas dans le forum Administration
    Réponses: 2
    Dernier message: 31/07/2007, 21h19
  3. Réponses: 8
    Dernier message: 28/12/2006, 14h18
  4. Réponses: 7
    Dernier message: 12/10/2006, 08h44
  5. .bat pour l'import de fichier txt dans postgres
    Par pseudomh dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/03/2005, 00h02

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