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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    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 Expert

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    Pour tout ce qui est fichier, regarde du côté du FileSystemObject.
    [Access] Les bases du débogage => ici

  3. #3
    Modérateur

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

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

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    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 éprouvé Avatar de RGShoop
    Homme Profil pro
    Freelance
    Inscrit en
    Août 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 112
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    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, 18h16
  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, 16h35
  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, 16h09
  4. Réponses: 4
    Dernier message: 26/03/2008, 10h43
  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, 12h24

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