IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Problème sauvegarde ftp commandée par code VBA


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème sauvegarde ftp commandée par code VBA
    Bonjour, je rencontre des difficultés avec une sauvegarde de fichier sur serveur ftp pilotée par code VBA sous access : le principe utilisé est de lancer un batch qui se connecte, accède au bon répertoire sur le serveur, et dépose le fichier.

    En code VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    On Error GoTo Error_Handler
    ' The scr file will contain the FTP commands (If it exists from previous run, delete it)
        sFtpFile = txtTmpDir & "\" & "copieFTP.scr"
        If Dir(sFtpFile) <> "" Then Kill sFtpFile
        sBatFile = txtTmpDir & "\" & "copieFTP.bat"
        If Dir(sBatFile) <> "" Then Kill sBatFile
    ' Open a new text file to hold the FTP script and load it with the appropriate commands.
        iFile = FreeFile
        Open sFtpFile For Output As iFile
        Print #iFile, "open " & getAppParam("BackupFTP")
        Print #iFile, getAppParam("BackupUser")
        Print #iFile, getAppParam("BackupPW")
        Print #iFile, "cd " & getAppParam("FTPBackup")
        Print #iFile, "binary"
        Print #iFile, "put " & txtZipFile
        Print #iFile, "bye"
        Close #iFile
    ' create a new vbs script to notify the end of the export with the appropriate commands.
        iFile = FreeFile
        sVBSFile = txtTmpDir & "\" & "MsgFinSauvegarde.vbs"
        If Dir(sVBSFile) <> "" Then Kill sVBSFile
        Open sVBSFile For Output As iFile
        Print #iFile, "msgbox ""Sauvegarde envoyée."""
        Close #iFile
    ' Open a new text file to hold the bat script and load it with the appropriate commands.
        iFile = FreeFile
        Open sBatFile For Output As iFile
        Print #iFile, "ftp.exe -s:" & q & sFtpFile & q
        Print #iFile, sVBSFile
        Close #iFile
        Shell (sBatFile)
    'terminé
        txtBackup = txtBackup & "Fichier zip envoyé au serveur. "
        Exit Function
    C'est un peu rustique, mais la fenêtre du batch permet de voir un peu ce qui se passe (pas encore essayé les méthodes "inet" vues ici et là).

    Le comportement est un peu surprenant :
    - chez moi, aucun souci.
    - au bureau de l'association qui gère ses membres sous access, le processus ne se déroule pas correctement : connexion au serveur, identifiant, mot de passe : ok... passage au répertoire : ok. écriture fichier zippé ("put " & txtZipFile) : could not open port 5xx xxx. Au final : le fichier est bien créé sur le serveur, avec une taille égale à 0ko.

    La neufbox de l'association a récemment lâché. J'ai pensé à un problème de configuration de la nouvelle (mais à domicile, je n'ai rien configuré de spécial sur ma freebox...). Essayé d'ouvrir le port récalcitrant en configurant la box. La fois suivante, c'est un autre 5xx yyy qu'il essaie d'ouvrir. Bon...

    Sous Firefox, utilisé FireFTP. Je m'attendais à voir un message d'erreur... et le fichier a été transféré comme une fleur. Pas d'indication de souci, pas de nouvelle piste.

    Je suis égaré : problème de code et de sensibilité de configuration PC ? (mais ça marchait avant le changement de box). Pb de box ? (mais pourquoi un transfert sous FireFTP fonctionne-t-il, et pas celui lancé par le code VBA ?). Très certainement, ce problème prend surtout sa source dans l'ignorance du rédacteur de cette question. Une aide serait-elle possible ? Merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut résolu
    Rien à voir avec un souci de programmation. Windows s'était commuté automatiquement en configuration réseau public en voyant une nouvelle box, et bloquait les (certaines...) communications. Et pourtant, le fichier était créé sur le serveur, bien que jamais transféré...

    http://www.bellamyjc.fr/howto/profilnet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête exécutée par code vba
    Par tit65 dans le forum Access
    Réponses: 4
    Dernier message: 22/08/2007, 18h07
  2. ajouter un utilisateur au groupe users par code VBA ?
    Par electrosat03 dans le forum Access
    Réponses: 2
    Dernier message: 12/01/2007, 17h00
  3. [VBA-E] Change links par code VBA
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/01/2007, 10h09
  4. Définir marge par code VBA
    Par tamyme dans le forum Access
    Réponses: 2
    Dernier message: 10/03/2006, 09h43
  5. Comment faire Copier/Coller par code VBA sur INTERNET...
    Par GESCOM2000 dans le forum Access
    Réponses: 5
    Dernier message: 02/01/2006, 13h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo