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

Access Discussion :

Récupérer des noms de fichiers dans une table ?


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Récupérer des noms de fichiers dans une table ?
    Bonjour à tous,
    afin de créer et d'alimenter une BD contenant toute une série d'images, je cherche à trouver une routine vba qui permettrait de récupérer tous les noms de fichiers (par exemple : x1.jpg, x2.jpg, ..., xn.jpg) inclus dans un dossier (je possède un système d'exploitation Windows XP) et de les inscrires dans le champ d'une table Access.
    Je commence tout juste le vba, et aïe aïe !
    Apparemment, si j'ai bien cherché, ce sujet n'a pas été abordé !
    Je vous remercie par avance de vos réponses.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Pour tout ce qui est fichier, regarde du côté du FileSystemObject.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 349
    Points : 23 813
    Points
    23 813
    Par défaut
    Tu peux aussi voir avec Dir() si tu aime le style MS-DOS :-).

    A+

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci !
    je viens de trouver des routines avec la fonction Dir
    En assemblant divers codes, j'arrive à lister des fichiers (par exemple les .jpg) contenu dans un dossier et les inscrire dans un fichier texte (merci à la personne qui a développée le code !). Il semblerait que cela soit plus compliquer pour les inscrire dans une feuille excel ou comme je le veux dans une table access ! J'y travaille ...
    Pour ce que ça intéresse çi-joint le code.
    Je tiens encore à remercier les personnes qui ont développés, moi je n'ai fait qu'assembler !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub ListeFichiers()
     
    Dim MyPath As String
     
    MyPath = "c:\[Mettre le chemin du dossier cible]\"
    MyName = Dir(MyPath & "*.jpg") ' pour trouver tous les fichiers en .jpg
     
    Dim FSys As Object
    Dim TRACE As Object
    Dim OpenTRACE
    Dim LeFichierTrace As String
     
    LeFichierTrace = "c:\temp\TRACE.txt" ' fichier texte qui contiendra la liste des noms des fichiers en .jpg
     
     
    'Pour creer le fichier texte si il existe pas
    Set FSys = CreateObject("Scripting.FileSystemObject")
    If FSys.FileExists(LeFichierTrace) = False Then
    Set TRACE = FSys.CreateTextFile(LeFichierTrace)
    End If
     
    'Ouverture en ecriture du Fichier texte
    Set TRACE = FSys.GetFile(LeFichierTrace)
    Set OpenTRACE = TRACE.OpenAsTextStream(8, -2) '8 = ForAppending = Ouvre un fichier et écrit à la fin du fichier.
     
     
     
     
    Do While MyName <> ""
    OpenTRACE.Write MyName & (Chr(13) + Chr(10))
    MyName = Dir
    Loop
     
    End Sub
    [Modération, cafeine : Pensez à utiliser la balise [CODE] qui améliore la lisibilité, merci]

  5. #5
    Membre habitué Avatar de RGShoop
    Homme Profil pro
    Freelance
    Inscrit en
    Août 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 112
    Points : 154
    Points
    154
    Par défaut
    Bonjour,

    Je pense que la méthode est bonne, pour remplir une table access, il suffit d'ouvrir un recordset et ensuite de l'alimenter



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     Sub ListeFichiers() 
     
    Dim dbs as database
    Dim rs as recordset
    Dim MyPath As String 
     
    dbs=currentdb
    rs=dbs.openrecordset("Nom de ta table à remplir",dbopendynaset)
     
    MyPath = "c:\[Mettre le chemin du dossier cible]\" 
    MyName = Dir(MyPath & "*.jpg") ' pour trouver tous les fichiers en .jpg 
     
    Dim FSys As Object 
    Dim TRACE As Object 
    Dim OpenTRACE 
    Dim LeFichierTrace As String 
     
    LeFichierTrace = "c:\temp\TRACE.txt" ' fichier texte qui contiendra la liste des noms des fichiers en .jpg 
     
     
    'Pour creer le fichier texte si il existe pas 
    Set FSys = CreateObject("Scripting.FileSystemObject") 
    If FSys.FileExists(LeFichierTrace) = False Then 
    Set TRACE = FSys.CreateTextFile(LeFichierTrace) 
    End If 
     
    'Ouverture en ecriture du Fichier texte 
    Set TRACE = FSys.GetFile(LeFichierTrace) 
    Set OpenTRACE = TRACE.OpenAsTextStream(8, -2) '8 = ForAppending = Ouvre un fichier et écrit à la fin du fichier. 
     
     
     
     
    Do While MyName <> "" 
     
    rs.addnew
    rs![champ à remplir dans la table]= MyName
    rs.update
     
     
    OpenTRACE.Write MyName & (Chr(13) + Chr(10)) 
    MyName = Dir 
    Loop 
     
    End Sub
    Espérant avoir été utile,

    A+ RGShoop

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    MERCI

Discussions similaires

  1. Récupérer des noms de fichier dans une table pour les placer en masque du tfilelist
    Par charliplanete dans le forum Développement de jobs
    Réponses: 11
    Dernier message: 24/08/2011, 17h16
  2. Récupérer le nom du fichier dans une variable
    Par Patrick07 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/06/2011, 15h35
  3. Récupérer des lignes non enregistrées dans une table
    Par leddy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/04/2008, 15h09
  4. Réponses: 4
    Dernier message: 26/03/2008, 09h43
  5. [Système]Récupérer un nom de fichier dans une table
    Par denis76000 dans le forum Access
    Réponses: 7
    Dernier message: 04/04/2007, 11h24

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