Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lister les tables Access

2 réponses
Avatar
JCM
Bonjour

Pouvez-vous m'indiquer comment lister les fichiers.mdb situés dans un
répertoire:bases (dans le but de créer un menu dynamique)

Merci pour vos réponses
Cordialement
JCM

2 réponses

Avatar
Zoury
Salut Jean-Claude! :O)

regarde cette fonction :
'***
' Path : un chemin valide se terminant par ""
' Pattern : un filtre valide sur le(s) type(s) de ficher(s) à trouver
' Return : un tableau de nom de fichier contenu dans le répertoire
Private Function GetFiles _
( _
ByVal Path As String, _
Optional ByRef Pattern As String = "*.*" _
) As String()

Dim sFiles() As String ' tableau de noms de fichier
Dim sFile As String ' nom du fichier actuel
Dim lLastIndex As Long ' dernier index utilisé du tableau
Const BUFFER As Long = 50 ' buffer pour le tableau

' on vérifie le path
If (Right$(Path, 1) <> "") Then
Path = Path & ""
End IF

' on créer un buffer suffisament pour éviter
' de redimensionner le tableau souvent
' ça accélère de beaucoup le temps traitement
ReDim sFiles(BUFFER) As String

' trouve le premier fichier
sFile = Dir$(Path & Pattern)

' boucle tant qu'il y a des fichiers
Do Until LenB(sFile) = 0
' on ajoute le fichier au tableau
sFiles(lLastIndex) = Path & sFile
' on incrémente le compteur du tableau
lLastIndex = lLastIndex + 1
' si le compteur à atteint la limite du
' tableau, on redimensionne se dernier
If (lLastIndex > UBound(sFiles)) Then
ReDim Preserve sFiles(lLastIndex + BUFFER) As String
End If
' passe au prochain fichier
sFile = Dir$
Loop

If (lLastIndex = 0)
GetFiles = Split("", " ") ' on a rien trouvé
Else
' on tronque le surplus d'espace
ReDim Preserve sFiles(lLastIndex - 1) As String
' on renvoit le tableau
GetFiles = sFiles
End If

End Function
'***

Voici un exemple :
'***
Dim sFiles() As String
sFiles = GetFiles("c:MyFolder", "*.mdb")
'***

--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"JCM" a écrit dans le message de
news:
Bonjour

Pouvez-vous m'indiquer comment lister les fichiers.mdb situés dans un
répertoire:bases (dans le but de créer un menu dynamique)

Merci pour vos réponses
Cordialement
JCM


Avatar
JCM
Salut Zoury

Merci pour ton aide, et pour l'aspect pédagogique de ta réponse, cela règle
mon problème

Cordialement
JCM

"Zoury" a écrit :

Salut Jean-Claude! :O)

regarde cette fonction :
'***
' Path : un chemin valide se terminant par ""
' Pattern : un filtre valide sur le(s) type(s) de ficher(s) à trouver
' Return : un tableau de nom de fichier contenu dans le répertoire
Private Function GetFiles _
( _
ByVal Path As String, _
Optional ByRef Pattern As String = "*.*" _
) As String()

Dim sFiles() As String ' tableau de noms de fichier
Dim sFile As String ' nom du fichier actuel
Dim lLastIndex As Long ' dernier index utilisé du tableau
Const BUFFER As Long = 50 ' buffer pour le tableau

' on vérifie le path
If (Right$(Path, 1) <> "") Then
Path = Path & ""
End IF

' on créer un buffer suffisament pour éviter
' de redimensionner le tableau souvent
' ça accélère de beaucoup le temps traitement
ReDim sFiles(BUFFER) As String

' trouve le premier fichier
sFile = Dir$(Path & Pattern)

' boucle tant qu'il y a des fichiers
Do Until LenB(sFile) = 0
' on ajoute le fichier au tableau
sFiles(lLastIndex) = Path & sFile
' on incrémente le compteur du tableau
lLastIndex = lLastIndex + 1
' si le compteur à atteint la limite du
' tableau, on redimensionne se dernier
If (lLastIndex > UBound(sFiles)) Then
ReDim Preserve sFiles(lLastIndex + BUFFER) As String
End If
' passe au prochain fichier
sFile = Dir$
Loop

If (lLastIndex = 0)
GetFiles = Split("", " ") ' on a rien trouvé
Else
' on tronque le surplus d'espace
ReDim Preserve sFiles(lLastIndex - 1) As String
' on renvoit le tableau
GetFiles = sFiles
End If

End Function
'***

Voici un exemple :
'***
Dim sFiles() As String
sFiles = GetFiles("c:MyFolder", "*.mdb")
'***

--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"JCM" a écrit dans le message de
news:
> Bonjour
>
> Pouvez-vous m'indiquer comment lister les fichiers.mdb situés dans un
> répertoire:bases (dans le but de créer un menu dynamique)
>
> Merci pour vos réponses
> Cordialement
> JCM