Problème de tranfert vers un serveur FTP Help Help Urgent

fredo - 19 juin 2001 à 14:16
beta47 Messages postés 11 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 6 juin 2002 - 17 déc. 2001 à 19:06
Dans la procedure voici ce qu'il y a :

With InetFtpDirect
.URL = AdrFTP 'Adresse de l'url
.UserName = CodeAccessFTP 'Login
.Password = PassFTP 'Password
.Execute , "dir /NomRepFTP"
.Execute , "PUT " & TxtPathFichier.Text & " /" & NomFile
.Execute , "Close"
End With

Voici l'erreur que s'obtient :
Erreur D'exécution '35764'
Exécute toujours la derniere requête

Erreur D'exécution '35764' Représente ce qui suit :
icExecuting 35764 Demande précédente en cours d'exécution

Si j'execute un seule .Execute "...." cela fonctionne
mais dès que j'en ai plus d'un j'ai le message d'erreur.

Comment puis je résoudre ce problème ?
Merci d'avance.
C'est très urgent

5 réponses

C parceke tu peux pas utiliser plusieurs execute en même temps faut arrêter le dernier execute pour en comencer un nouveau !
@+
0
Comment savoir quand un execute est fini ???
Merci d'avance
0
J'installe Vb et je te réponds !
0
Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
beta47 Messages postés 11 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 6 juin 2002
17 déc. 2001 à 19:06
-------------------------------
Réponse au message :
-------------------------------
Ok, moi j'ai ta reponse. Alors voila comment faire. il existe une fonction permettant de savoir si inet est en cours d'éxécution. Il te fau t rajouter le bloque if suivant au debut de ta boucle.
If Inet1.StillExecuting = True Then GoTo 'debut de boucle
Dans ce cas, en mode pas a pas cela va marcher. Maintenant, il rest un probleme. Si tu ne rajoute que ca, ton processeur n'arrete pas de travailller et donc inet met un temps fou pour finir sont opération. Il te faut donc des temps mort pour ton processeur. Je te conseil donc de rajouter un pause dans ta boucle. Pour cela aussi, j'ai une solution.
Rajoute la public sub suivante dans ton programme.

Public Sub pause(durée As Long)
Dim actu As Long
actu = Timer
Do Until Timer - actu >= durée
DoEvents
Loop
End Sub

et dans ta boucle rajoute le code suivant :
pause + temps en seconde
ce qui te donne à la fin un boucle de type :

start2:
pause 0.5
If Inet1.StillExecuting = True Then GoTo start2
'suite de ton programme

Voila, c tout. Tu as tout pour faire ce que tu veux. Par contre, si tu a un moyen de rééssayer l'opération de connection quand elle n'a pas abouti, je suis preneur

Merci.

-------------------------------
Réponse au message :
-------------------------------

J'installe Vb et je te réponds !

-------------------------------
Réponse au message :
-------------------------------

Comment savoir quand un execute est fini ???
Merci d'avance

-------------------------------
Réponse au message :
-------------------------------

C parceke tu peux pas utiliser plusieurs execute en même temps faut arrêter le dernier execute pour en comencer un nouveau !
@+

-------------------------------
Réponse au message :
-------------------------------

Dans la procedure voici ce qu'il y a :

With InetFtpDirect
.URL = AdrFTP 'Adresse de l'url
.UserName = CodeAccessFTP 'Login
.Password = PassFTP 'Password
.Execute , "dir /NomRepFTP"
.Execute , "PUT " & TxtPathFichier.Text & " /" & NomFile
.Execute , "Close"
End With

Voici l'erreur que s'obtient :
Erreur D'exécution '35764'
Exécute toujours la derniere requête

Erreur D'exécution '35764' Représente ce qui suit :
icExecuting 35764 Demande précédente en cours d'exécution

Si j'execute un seule .Execute "...." cela fonctionne
mais dès que j'en ai plus d'un j'ai le message d'erreur.

Comment puis je résoudre ce problème ?
Merci d'avance.
C'est très urgent
0
Rejoignez-nous