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 :

attendre la fin d'une etape pour passé a l autre étape [AC-2007]


Sujet :

VBA Access

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut attendre la fin d'une etape pour passé a l autre étape
    bonjour,

    dans mon access je lance un compression d'un fichier et ensuite un commande pour transfere en ftp les donnée ( je pense par un fichier bat a lance le ftp)

    mon problème est que la compression peux être longue et tu coup le ftp est lance avant la fin de la compression

    comme lui dire attendre que la compression soit fini pour lance le ftp?

    merci a vous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    ZipRepertoire
    Sleep 3000
    Dim Commande As String
    Commande = "\\sa-file01\ACCESBASESTAGNE$\BASETABLE\Flux ubliflow.bat"
    Shell Commande
    Sleep 3000
        MsgBox "Opération terminée !", vbInformation
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Sub ZipRepertoire()
        '
        'Source
        'http://www.codecomments.com/archive299-2006-2-295877.html
        '
        Const ForReading = 1, ForWriting = 2, ForAppending = 8
     
        Dim Source, Destination, MyHex, MyBinary, i
        Dim oShell, oApp, oFolder, oCTF, oFile
        Dim oFileSys
     
        'Spécifiez le répertoire
     
     
         Source = GetDbPathOfLinkedTable("tblAdmin") & "FLUX_COMMERCIALISATION\fichier"
         Destination = GetDbPathOfLinkedTable("tblAdmin") & "FLUX_COMMERCIALISATION\ag313049.zip"
     
     
        MyHex = _
        Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
     
        For i = 0 To UBound(MyHex)
            MyBinary = MyBinary & Chr(MyHex(i))
        Next
     
        Set oShell = CreateObject("WScript.Shell")
        Set oFileSys = CreateObject("Scripting.FileSystemObject")
     
        'Création de la base du fichier zip.
        Set oCTF = oFileSys.CreateTextFile(Destination, True)
        oCTF.Write MyBinary
        oCTF.Close
        Set oCTF = Nothing
     
        Set oApp = CreateObject("Shell.Application")
     
        Set oFolder = oApp.NameSpace(Source)
        If Not oFolder Is Nothing Then _
            oApp.NameSpace(Destination).CopyHere oFolder.Items
     
        Set oFile = Nothing
        On Error Resume Next
     
        Do While (oFile Is Nothing)
            'Attention: provoque une erreur 70 si un des fichiers à zipper
            'est toujours ouvert.
            Set oFile = oFileSys.OpenTextFile(Destination, ForAppending, False)
     
            If Err.Number <> 0 Then
                Err.Clear
            End If
        Loop
     
        Set oFile = Nothing
        Set oFileSys = Nothing
     
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Il y aurait pas moyen de convertir le code du batch en vba ?

    Car normalement, une fois le batch lancé Access n'a plus le contrôle sur la procédure

    Peut-être utiliser une fonction du modèle WScript.Shell pour lancer l'exécution du batch :

    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
    Function RunCmd(CmdStr As String) As Boolean
    ' Utilisé pour exécuter une commande ou un batch.
        Dim oWsc As Object
     
        Set oWsc = CreateObject("WScript.Shell")
        Dim oExec As Object
        Dim cpt As Long
     
        Set oExec = oWsc.Exec(CmdStr)
     
        If (oExec.StdErr.ReadAll() = "") Then
           RunCmd = True
        Else
           RunCmd = False
        End If
     
        'Debug.Print ("STDOUT" + oExec.StdOut.ReadAll())
        'Debug.Print ("STDERR" + oExec.StdErr.ReadAll())
        Set oWsc = Nothing
     
    End Function
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    mon problème est avant de lance le bat il faudrait attendre le retour du "ZipRepertoire" fini pour lance le bat

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    A quoi sert le :

    Dans la procédure du zip ?

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    je sais pas c'est un code que j'ai trouve et appliqué chez moi

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Cette procédure fonctionne sans souci quand elle est toute seule ?
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    oui ceci me gére bien le ZIP et l'autre partie me génére bien l'exportation en FTP teste sur des bouton différents

    mais la je souhaite le rentre automatique sur un seul bouton

    le fichier zip ce fait mais comme il est un peux gros il prend du temps et le ftp est lancé hors le zip n'est pas fini et du coup j'ai une exportation d'un zip non fini

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    je suis un peu étonné car normalement ce devrait-être séquentiel
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    quand il me fais la compression il m'ouvre une fenêtre windows avec le temps de copie pour crée l'archive je pense que le problème est la
    Images attachées Images attachées  

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Personnellement pour extraire un seul fichier avec 7-zip, j'utilise :

    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
    Function extractFile(source as string, destination as string) As Boolean
    On error goto err_extractFile
    Dim CmdStr As String
     
    CmdStr = "c:\Program Files (x86)\7-Zip\7z.exe" & " e " & source & " -o" & destination
     
       If Not IsFile("c:\Program Files (x86)\7-Zip\7z.exe") Then
          CmdStr = "c:\Program Files\7-Zip\7z.exe" & " e " & source & " -o" & destination
       End If
     
       If RunCmd(CmdStr) Then
          extractFile = True
       Else
          extractFile = False
       End If
     
     
    Exit Function
     
    err_extractFile:
    MsgBox Err.Description
    extractFile = False
     
    End Function
    Avec la fonction RunCmd vue précédemment...si ça peut t'aider, il reste à parcourir les fichier du dossier..
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Une piste possible doEvent
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  12. #12
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    ok merci je vais pouvoir me débrouillé avec tout ceci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/10/2015, 10h00
  2. Attendre la fin d'une commande WMI pour continuer
    Par ovcrash dans le forum VBScript
    Réponses: 1
    Dernier message: 11/02/2010, 07h06
  3. [PHP 5.0] Attendre la fin d'une fonction pour en realiser une autre
    Par keaton7 dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2009, 16h06
  4. Réponses: 4
    Dernier message: 08/06/2007, 15h36
  5. [FLASH MX2004] Attendre la fin d'une anim
    Par stailer dans le forum Flash
    Réponses: 2
    Dernier message: 11/07/2005, 12h47

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