Bonjour,
Je Souhaiterait savoir si il est possible de recuperai tous les noms de fichier se trouvant dans un dossier pour les mettre dans les champs d'une table.
Merci
Bonjour,
Je Souhaiterait savoir si il est possible de recuperai tous les noms de fichier se trouvant dans un dossier pour les mettre dans les champs d'une table.
Merci
Bonjour,
http://access.developpez.com/sources...chercheFichier
Cordialement.
J'ai un bout de code
Par contre je n'arrive toujours pas les inserer dans ma table
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 Private Sub Commande0_Click(sChemin As String, Coll As Collection, Recursif As Boolean) Dim sChemin As String Dim FSO As Scripting.FileSystemObject Dim Dossier As Scripting.Folder Dim SousDossier As Scripting.Folder Dim Fichier As Scripting.File sChemin = "e:\XXXX" Set FSO = New Scripting.FileSystemObject Set Dossier = FSO.GetFolder(sChemin) For Each Fichier In Dossier.Files Coll.Add Fichier.Path, Fichier.Path Next Fichier If Recursif Then For Each SousDossier In Dossier.SubFolders ListeFichiers SousDossier.Path, Coll, True Next SousDossier End If Set FSO = Nothing End Sub
Bonjour,
Tu es pas le seul à avoir un bout de code.
Celui-ci est puisé chez Jessy Sempère :
Une table : tbl_Destination
Un champ : ChampDestination
Un module :Un bouton de commande :
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 Public Function FileExistDir(strDir As String, _ strTable As String, strField As String) Dim intFile As Integer Dim strFile As String intFile = 0: strFile = "" With Application.FileSearch .LookIn = strDir: .FileName = "*.*" If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count strFile = .FoundFiles(intFile) strFile = Right(strFile, Len(strFile) - (Len(strDir) + 1)) CurrentDb.Execute "INSERT INTO [" & strTable & "] " _ & "([" & strField & "])" _ & "SELECT """ & strFile & """ ;" Next End If End With End Function
Cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub cmdChargeTbl_Click() 'FileExistDir (strDir, strTable, strField) Call FileExistDir("C:\Access", "tbl_Destination", "ChampDestination") End Sub
Salut à tous,
J'ai retouché le code proposé pour avoir plus d'infos (path, date de création, modif, acces)
en suivant les conseils trouvés ici http://access.developpez.com/faq/?page=SQL#DiffRstSQL
c'est à dire en utilisant DAO.Recordset plutot que des commandes SQL
ce qui permet
1°) une écriture plus facile en VBA que si on utlise la syntaxe SQL qui nécessite beaucoup de """".
2°) une meilleure rapidité selon Caféine.
Par contre, j'ai l'impression que
ne fonctionne pas sous Access97 SR2 ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.FileSearch.FileName = "*.*"
bien cordialement,
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
46
47
48
49
50
51
52
53 Public Function FileExistDir(strDir As String, strPattern As String, strTable As String, strField As String) ' 18/03/08 - récupération des noms de fichier d'un répertoire ' utilise Application.FileSearch pour parcourir le répertoire ' FSO pour trouver les informations du fichier (path, dates..etc.) ' DAO.recordset pour stocker dans la table T (plus rapide que le SQL INSERT) ' le dernier paramètre ne sert à rien... ' Dim intFile As Integer Dim strFile As String Dim rst As DAO.Recordset Dim fso As FileSystemObject, f As File 'recordset Set rst = CurrentDb.OpenRecordset(strTable) ' intialisation des variables intFile = 0: strFile = "" With Application.FileSearch ' .LookIn = strDir: .FileName = strPattern .LookIn = strDir ' .FileName = "*.*" 'le pattern ne fonctionne pas en Access97 ??? il ne trouve que les .mdb ??? If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count strFile = .FoundFiles(intFile) ' fso Set fso = New FileSystemObject On Error GoTo fin Set f = fso.GetFile(strFile) ' MsgBox "chemin" & f.Path ' MsgBox "Crée le : " & f.DateCreated ' MsgBox "Modifié le : " & f.DateLastModified ' MsgBox "Accédé le : " & f.DateLastAccessed ' Set f = Nothing ' MsgBox strFile ' ajout dans le recordset rst.AddNew rst!NomFichier = Right(strFile, Len(strFile) - (Len(strDir) + 1)) rst!CHEMIN = f.Path ' rst!DateCreation = Format(f.DateCreated, "dd/mm/yyyy") rst!DateCreation = f.DateCreated rst!datemodification = f.DateLastModified rst!dateacces = f.DateLastAccessed rst.Update Next End If End With 'libération fin: Set fso = Nothing rst.Close Set rst = Nothing End Function
fevec
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager