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 :

Priorité d'exécution dans le code


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Par défaut Priorité d'exécution dans le code
    Bonjour, j'ai un pb dans la priorite de mon code. Je m'explique:

    J'ai un formulaire contenant un webbrowser qui pointe vers un fichier pdf pour l'afficher.

    Ensuite je veux avec mon code effacer le fichier en question. Comme le webbrowser pointe vers ce même fichier la permission d'effacer n'est pas autorisée.

    même en faisant pointer le webbrowser ailleurs juste avant, il ne libére pas assez vite l'acces au fichier afin de pouvoir l'effacer.

    Voici le code:

    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
     
    Private Sub Bt_QualifDoc_Click()
    Dim strPathfin As String
    Dim strPathInit As String
    Me.WebBrowser6.Navigate "c:\test\commande.pdf"
    strPathInit = [Forms]![F-QualifScan]!Chemin + [Forms]![F-QualifScan]!ListeFichier
    strPathfin = [Forms]![F-QualifScan]!RepFichier + [Forms]![F-QualifScan]!NomFichier
     
    ' MsgBox "fichier de départ: " & strPathInit
    ' MsgBox "fichier de destination: " & strPathfin
     
    'Copie du fichier et renommage
            FileCopy strPathInit, strPathfin
            'effacement du fichier initial
     
            Kill strPathInit
     
    Call LitRepertoireErreur
     
    End Sub
    Avez-vous des suggestions?

    Cordialement
    Patrick

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Avec une gestion d'erreur toute bête tu devrais pouvoir t'en sortir.

    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
     
    Private Sub Bt_QualifDoc_Click()
     
    on error goto Err_Bt_QualifDoc_Click
     
    Dim strPathfin As String
    Dim strPathInit As String
    Me.WebBrowser6.Navigate "c:\test\commande.pdf"
    strPathInit = [Forms]![F-QualifScan]!Chemin + [Forms]![F-QualifScan]!ListeFichier
    strPathfin = [Forms]![F-QualifScan]!RepFichier + [Forms]![F-QualifScan]!NomFichier
     
    ' MsgBox "fichier de départ: " & strPathInit
    ' MsgBox "fichier de destination: " & strPathfin
     
    'Copie du fichier et renommage
            FileCopy strPathInit, strPathfin
            'effacement du fichier initial
     
    RepriseSurErreurSuppression:
            Kill strPathInit
     
    Call LitRepertoireErreur
     
    Exit_Bt_QualifDoc_Click
       exit sub
     
    Err_Bt_QualifDoc_Click
       select case err.number
          case NoErreurSuppressionImpossible
             'Ajouter éventuellement ici une pause d'une seconde avec l'API sleep.
             resume RepriseSurErreurSuppression:
     
          case else
             msgbox err.description
             resume Exit_Bt_QualifDoc_Click
     
        end select
     
    End Sub
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Par défaut
    peux tu m'indiquer la syntaxe pour la pause de l'API sleep

    Merci

    Cela ne fonctionne pas..

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Essayes de mettre l'instruction
    avant de killer ton fichier.

    Starec

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Par défaut
    l'instruction doevents ne fonctionne pas non plus. même en mettant une boucle avant pour temporiser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
           Dim I, OpenForms
    For I = 1 To 150000    ' Lance la boucle.
        If I Mod 1000 = 0 Then     ' Lorsque la boucle s'est
                                        ' répétée 1000 fois.
            OpenForms = DoEvents    ' Cède le contrôle au
                                        ' système d'exploitation.
        End If
    Next I    ' Incrémente le compteur de boucle.
     
     
            Kill strPathInit

  6. #6
    Invité
    Invité(e)
    Par défaut


    DoEvents ce met tou seul sur une ligne tout seul, avant ton kill, réessaye.

    Starec

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

Discussions similaires

  1. [OK] Erreur dans l'exécution d'un code de macro.
    Par Funcky222 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/09/2007, 21h35
  2. Réponses: 1
    Dernier message: 04/01/2007, 22h52
  3. Connaitre le numéro de ligne exécuté dans le code
    Par Invité dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/10/2006, 16h15
  4. Réponses: 7
    Dernier message: 11/09/2006, 14h23
  5. Priorité d'exécution dans une dll
    Par Neilos dans le forum C++Builder
    Réponses: 2
    Dernier message: 06/05/2005, 15h59

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