getfile et message d'erreur [vb6] - Programmation
Marsh Posté le 10-05-2001 à 22:01:06
Set Rc = New ADODB.Recordset
Rc.Open "SELECT * FROM ENVOI_PRODUIT_CHEMIN WHERE [NOM_ENVOI]='" & strNom_Envoi & "'", Ct, adOpenDynamic
on error resume next
strerr = ""
Do Until Rc.EOF
err.clear
strNomFichier = Rc![NOM_PRODUIT]
strCheminAbsolu = Rc![CHEMIN_ABSOLU]
strCheminAbsoluNomFichier = strCheminAbsolu & "\" & strNomFichier
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f = fso.GetFile(strCheminAbsoluNomFichier)
strTaille = strTaille + f.Size
if err <> 0 then
strerr = strerr & strCheminAbsoluNomFichier & vbCrLf
end if
Rc.MoveNext
Loop
on error goto 0
if strerr <> "" then
msgbox "Les fichiers suivants n'ont pas été trouvés :" & vbCrLf & vbCrLf & strerr
end if
Marsh Posté le 11-05-2001 à 15:21:14
Super ta gestion d'erreur , ca m'enleve une poutre du pied
Merci
Marsh Posté le 10-05-2001 à 21:53:44
J'ai une base de donnees qui contient des fichiers avec le nom et le chemin du fichier et j'utilise le code suivant pour calculer la taille des fichiers (ici la taille d'un groupe de fichier)
Mais si l'un des fichier est absent j'ai une erreur biensur
mais la seule chose que j'ai trouve c'est d'utiliser :
On Error Resume Next
mais dans ce cas je ne sais pas quel fichier est absent
En resume je ne sais pas commet gerer l'erreur sans casser la boucle de traitement.
Voila une partie du code :
Set Rc = New ADODB.Recordset
Rc.Open "SELECT * FROM ENVOI_PRODUIT_CHEMIN WHERE [NOM_ENVOI]='" & strNom_Envoi & "'", Ct, adOpenDynamic
Do Until Rc.EOF
strNomFichier = Rc![NOM_PRODUIT]
strCheminAbsolu = Rc![CHEMIN_ABSOLU]
strCheminAbsoluNomFichier = strCheminAbsolu & "\" & strNomFichier
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f = fso.GetFile(strCheminAbsoluNomFichier)
strTaille = strTaille + f.Size
Rc.MoveNext
Loop