Bonjour,
J'ai cr=E9=E9 un bouton qui depuis ma base access va v=E9rifier l'existence
de fichiers num=E9riques (documents num=E9ris=E9s dont les descriptions son=
t
enregistr=E9es dans une table) dans des r=E9pertoires : ci-dessous je
recopie le code.
Cela fonctionne sauf que cela mets beaucoup de temps =E0 r=E9pondre !
Sauriez-vous s'il y aurait moyen d'acc=E9l=E9rer le processus ?
Par avance, merci :o)
Sonia.
Private Sub BtnVerifRep_Click()
Dim fs
Dim I As Integer
Dim NomFichier As String
NomFichier =3D Me.CoteDoc
Dim NomRepFonds As String
NomRepFonds =3D "I:\" & Me![Abreviation]
Dim IntFile As Integer
Dim StrFile As String, listeRep As String
Dim strDir As String
IntFile =3D 0
StrFile =3D ""
Set fs =3D Application.FileSearch
With fs
.NewSearch
.LookIn =3D NomRepFonds
.SearchSubFolders =3D True
.filename =3D NomFichier & ".jpg"
If .Execute < 1 Then
MsgBox "Il n'existe aucun fichier num=E9rique portant le nom : "
& NomFichier, vbInformation, "PAS DE FICHIER NUMERIQUE !"
If (Me![Numerise]) =3D True Then
Me![Numerise] =3D False
End If
If Not IsNull(Me![NivIllustr]) Then
Me![NivIllustr] =3D ""
End If
ElseIf .Execute >=3D 1 Then
For IntFile =3D 1 To .FoundFiles.Count
StrFile =3D .FoundFiles(IntFile)
StrFile =3D "I" & Right(StrFile, Len(StrFile) - (Len(strDir) +
1))
listeRep =3D listeRep & vbCrLf & StrFile
Next
MsgBox "Il existe" & .FoundFiles.Count & " fichier(s) jpg d=E9nomm=E9
(s) " & NomFichier & " dans le(s) r=E9pertoire(s) : " & vbCrLf &
listeRep, vbInformation, "PLUSIEURS FICHIERS"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel__D
Bonjour,
a écrit :
Bonjour, J'ai créé un bouton qui depuis ma base access va vérifier l'existence de fichiers numériques (documents numérisés dont les descriptions sont enregistrées dans une table) dans des répertoires : ci-dessous je recopie le code. Cela fonctionne sauf que cela mets beaucoup de temps à répondre ! Sauriez-vous s'il y aurait moyen d'accélérer le processus ? Par avance, merci :o) Sonia.
Private Sub BtnVerifRep_Click() Dim fs Dim I As Integer Dim NomFichier As String NomFichier = Me.CoteDoc Dim NomRepFonds As String NomRepFonds = "I:" & Me![Abreviation] Dim IntFile As Integer Dim StrFile As String, listeRep As String Dim strDir As String IntFile = 0 StrFile = "" Set fs = Application.FileSearch With fs .NewSearch .LookIn = NomRepFonds .SearchSubFolders = True .filename = NomFichier & ".jpg"
If .Execute < 1 Then MsgBox "Il n'existe aucun fichier numérique portant le nom : " & NomFichier, vbInformation, "PAS DE FICHIER NUMERIQUE !" If (Me![Numerise]) = True Then Me![Numerise] = False End If If Not IsNull(Me![NivIllustr]) Then Me![NivIllustr] = "" End If ElseIf .Execute >= 1 Then For IntFile = 1 To .FoundFiles.Count StrFile = .FoundFiles(IntFile) StrFile = "I" & Right(StrFile, Len(StrFile) - (Len(strDir) + 1))
listeRep = listeRep & vbCrLf & StrFile Next
MsgBox "Il existe" & .FoundFiles.Count & " fichier(s) jpg dénommé (s) " & NomFichier & " dans le(s) répertoire(s) : " & vbCrLf & listeRep, vbInformation, "PLUSIEURS FICHIERS"
End If End With
End Sub
Tu pourrais effectuer la recherche à l'ouverture du formulaire et stocker le résultat.
Autre chose si tu stocke le résultat tu pourrais ensuite vérifier si le fichier existe et s'il n'existe pas effectuer une recherche.
Bonjour,
sonia.gaubert@club-internet.fr a écrit :
Bonjour,
J'ai créé un bouton qui depuis ma base access va vérifier l'existence
de fichiers numériques (documents numérisés dont les descriptions sont
enregistrées dans une table) dans des répertoires : ci-dessous je
recopie le code.
Cela fonctionne sauf que cela mets beaucoup de temps à répondre !
Sauriez-vous s'il y aurait moyen d'accélérer le processus ?
Par avance, merci :o)
Sonia.
Private Sub BtnVerifRep_Click()
Dim fs
Dim I As Integer
Dim NomFichier As String
NomFichier = Me.CoteDoc
Dim NomRepFonds As String
NomRepFonds = "I:" & Me![Abreviation]
Dim IntFile As Integer
Dim StrFile As String, listeRep As String
Dim strDir As String
IntFile = 0
StrFile = ""
Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = NomRepFonds
.SearchSubFolders = True
.filename = NomFichier & ".jpg"
If .Execute < 1 Then
MsgBox "Il n'existe aucun fichier numérique portant le nom : "
& NomFichier, vbInformation, "PAS DE FICHIER NUMERIQUE !"
If (Me![Numerise]) = True Then
Me![Numerise] = False
End If
If Not IsNull(Me![NivIllustr]) Then
Me![NivIllustr] = ""
End If
ElseIf .Execute >= 1 Then
For IntFile = 1 To .FoundFiles.Count
StrFile = .FoundFiles(IntFile)
StrFile = "I" & Right(StrFile, Len(StrFile) - (Len(strDir) +
1))
listeRep = listeRep & vbCrLf & StrFile
Next
MsgBox "Il existe" & .FoundFiles.Count & " fichier(s) jpg dénommé
(s) " & NomFichier & " dans le(s) répertoire(s) : " & vbCrLf &
listeRep, vbInformation, "PLUSIEURS FICHIERS"
End If
End With
End Sub
Tu pourrais effectuer la recherche à l'ouverture du formulaire
et stocker le résultat.
Autre chose si tu stocke le résultat tu pourrais ensuite vérifier
si le fichier existe et s'il n'existe pas effectuer une recherche.
Bonjour, J'ai créé un bouton qui depuis ma base access va vérifier l'existence de fichiers numériques (documents numérisés dont les descriptions sont enregistrées dans une table) dans des répertoires : ci-dessous je recopie le code. Cela fonctionne sauf que cela mets beaucoup de temps à répondre ! Sauriez-vous s'il y aurait moyen d'accélérer le processus ? Par avance, merci :o) Sonia.
Private Sub BtnVerifRep_Click() Dim fs Dim I As Integer Dim NomFichier As String NomFichier = Me.CoteDoc Dim NomRepFonds As String NomRepFonds = "I:" & Me![Abreviation] Dim IntFile As Integer Dim StrFile As String, listeRep As String Dim strDir As String IntFile = 0 StrFile = "" Set fs = Application.FileSearch With fs .NewSearch .LookIn = NomRepFonds .SearchSubFolders = True .filename = NomFichier & ".jpg"
If .Execute < 1 Then MsgBox "Il n'existe aucun fichier numérique portant le nom : " & NomFichier, vbInformation, "PAS DE FICHIER NUMERIQUE !" If (Me![Numerise]) = True Then Me![Numerise] = False End If If Not IsNull(Me![NivIllustr]) Then Me![NivIllustr] = "" End If ElseIf .Execute >= 1 Then For IntFile = 1 To .FoundFiles.Count StrFile = .FoundFiles(IntFile) StrFile = "I" & Right(StrFile, Len(StrFile) - (Len(strDir) + 1))
listeRep = listeRep & vbCrLf & StrFile Next
MsgBox "Il existe" & .FoundFiles.Count & " fichier(s) jpg dénommé (s) " & NomFichier & " dans le(s) répertoire(s) : " & vbCrLf & listeRep, vbInformation, "PLUSIEURS FICHIERS"
End If End With
End Sub
Tu pourrais effectuer la recherche à l'ouverture du formulaire et stocker le résultat.
Autre chose si tu stocke le résultat tu pourrais ensuite vérifier si le fichier existe et s'il n'existe pas effectuer une recherche.