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

Runtime Discussion :

Erreur d'exécution en mode runtime


Sujet :

Runtime

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut Erreur d'exécution en mode runtime
    Bonjour,

    J'ai utilisé ce bout de code trouvé dans la FAQ pour sauvegarder automatiquement ma bdd chaque fois qu'elle s'ouvre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim fso As Object, strDest As String
    strDest = CurrentProject.Path & "\" & _
              Left(CurrentProject.Name, Len(CurrentProject.Name) - 4) & _
              ".bak." & Right(CurrentProject.Name, 3)
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CopyFile CurrentProject.FullName, strDest
    Set fso = Nothing
    Il fonctionne très bien sur un pc avec Access 2007 mais quand je passe sur un autre avec le runtime 2007, j'ai le fameux message d'erreur :
    Cette application a été arrêtée à cause d'une erreur d'exécution.
    Elle ne peut pas continuer et va être fermée.
    Ce code est lancé depuis l'évenement Load du form principal; j'ai tenté de le mettre dans un module (j'ai lu dans un post qu'il fallait faire ça avec la fonction Left) mais le problème persiste.

    Si vous avez des pistes, merci d'avance...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Les applications développées pour être diffusées avec le Runtime, doivent avoir une gestion d'erreur pointue.
    Cela permet d'intercepter les erreurs et de les traiter en conséquence, afin justement d'éviter le plantage.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    J'ai tenté une variante du 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    On Error GoTo ERREUR
    Dim fso As Object
    Dim strDest As String
     
    Select Case CurrentProject.FileFormat
        Case 2 'acFileFormatAccess2
            GoSub MDB
        Case 7 'acFileFormatAccess95
            GoSub MDB
        Case 8 'acFileFormatAccess97
            GoSub MDB
        Case 9 'acFileFormatAccess2000
            GoSub MDB
        Case 10 'acFileFormatAccess2002
            GoSub MDB
        Case 12 'acFileFormatAccess12
            GoSub ACCDB
    End Select
     
    'Instanciation du FSO
    Set fso = CreateObject("Scripting.FileSystemObject")
    'Copie de la bdd
    fso.CopyFile CurrentProject.FullName, strDest, True
    'Purge du fso
    Set fso = Nothing
     
    '-----------------------------------------------
    ERREUR:
    Exit Sub
    '---
    MDB:
    strDest = CurrentProject.Path & "\" & _
              Left(CurrentProject.Name, Len(CurrentProject.Name) - 4) & _
              ".bak." & Right(CurrentProject.Name, 3)
    Return
    '---
    ACCDB:
    strDest = CurrentProject.Path & "\" & _
              Left(CurrentProject.Name, Len(CurrentProject.Name) - 6) & _
              ".bak." & Right(CurrentProject.Name, 5)
    Return
    Mais sans succès !!
    S'il y a une erreur, cela n'entraîne pas la simple sortie du programme comme prévu dans la routine ERREUR, mais un plantage complet de toute l'appli. Pas sûr en voyant ça qu'il soit possible d'intercepter et gérer l'erreur.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    J'ai tenté de récupérer l'erreur avec un code type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    On Error GoTo ERREUR
    ...
    ...
    Exit Sub
    ERREUR:
    MsgBox "Erreur n°" & Err.Number & vbLf & Err.Description
    Exit Sub
    Mais aucun message ne s'affiche à part celui déjà mentionné indiquant simplement le plantage de l'appli.

  5. #5
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Que dit le journal des événements une fois planté ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    Aucune idée !! où se trouve ce journal ???

    Pour info:
    - j'ai créé un ACCDE et un package (avec réinstall du runtime) mais j'ai eu la même message+plantage.
    - Un ACCDR exécuté sur mon PC avec Access fonctionne parfaitement.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Pour éviter les longs discours, j'ai mis mon fichier en pj, si ça peut aider...
    Fichiers attachés Fichiers attachés

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Le journal se lance à partir de la console : eventvwr.msc

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Bonjour à tous,
    J'ai regardé dans le journal des évenements de windows après le plantage mais il n'y a rien d'inscrit.

    Quand je déroule pas à pas les 2 procédures lancées au démarrage (ça m'oblige à écrire une ligne de code, tester l'appli, écrire une autre ligne, re-tester etc... jusqu'au plantage), la ligne responsable du plantage contient les fonctions Left et Right.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    strDest = CurrentProject.Path & "\" & _
              Left(CurrentProject.Name, Len(CurrentProject.Name) - 4) & _
              ".bak." & Right(CurrentProject.Name, 3)

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Alors ça ne vient pas de ton code...

    A démarrage de ton appli, pose une instruction du type :
    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
     
    Sub VerifyRef()
    Dim oRf                                                As Reference
    Dim strBrokenRef                                       As String
     
        If Application.BrokenReference Then
            For Each oRf In Application.References
                With oRf
                    If .IsBroken Then
                        strBrokenRef = strBrokenRef & .Name & vbCrLf
                    End If
                End With
            Next
        Else
            strBrokenRef = "Aucune reférence cassée..."
        End If
        MsgBox strBrokenRef, 64, "Références manquantes"
     
    End Sub
    Qu'est ce que ça donne ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

Discussions similaires

  1. Erreur à l'exécution en mode debug
    Par sebousseau dans le forum Qt Creator
    Réponses: 7
    Dernier message: 18/04/2015, 16h04
  2. Erreur d'exécution avec les Runtime
    Par denils dans le forum Runtime
    Réponses: 30
    Dernier message: 22/01/2015, 15h21
  3. [AC-2007] Erreur d'exécution sur certains filtres en mode runtime
    Par joeyr dans le forum Runtime
    Réponses: 2
    Dernier message: 25/05/2012, 11h14
  4. [XL-2007] Erreur d'Exécution 5 en mode partagé seulement
    Par ivanovitch25 dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 29/09/2011, 10h01
  5. [Turbo Pascal] Erreur d'exécution "runtime error 105"
    Par afifi dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 04/12/2008, 18h19

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