[vb6] getfile et message d'erreur

getfile et message d'erreur [vb6] - Programmation

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

Reply

Marsh Posté le 10-05-2001 à 21:53:44   

Reply

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

Reply

Marsh Posté le 11-05-2001 à 15:21:14    

Super ta gestion d'erreur , ca m'enleve une poutre du pied ;)
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed