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 d’exécution mode RunTime [AC-2010]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 53
    Points : 29
    Points
    29
    Par défaut Problème d’exécution mode RunTime
    Bonjour à tous !

    Je me permet d'ouvrir un sujet afin de comprendre et résoudre mon problème.

    J'ai une application accdb déployer sur plusieurs poste qui s’exécute pour la majeur partie d'entre elles avec le RunTime 2010. Sauf que pour un PC impossible de démarrer l'application, elle affiche un 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"
    L'application démarre sur un frmMain, sur ce formulaire l'event Form_load permet de rechercher certaines références et de les ajoutées au projet.

    J'ai d'abord enlever le codes dans Form_load pour voir si il s'agissait d'un problème de code, même avec un événement load avec aucune ligne dedans, impossible de démarrer l'application.

    En supprimant le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
     
    End Sub
    L'application démarre mais sur cette forme il y a aussi des boutons qui permettent de naviguer entre les différents formulaires avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "NomFormulaire"
    Même problème, une erreur d’exécution apparaît lorsque l'ont clique sur un bouton.

    J'ai aussi penser que c'est une question de composant référencer qui n'existe pas ou qui sont mal lié

    En continuant mon enquête j'ai essayer d'executer un autre projet, similaire dans ses référence, ils fonctionnent, en comparant les deux j'ai trouver aucune différence, que ce soit dans les références ou dans le codes executé.


    Avez vous déjà eu ce genre de problème ? Si oui, comment faire pour le résoudre ?

    Cordialement, Z.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    C'est un des problèmes avec le runtime, tu n'as aucune explication de la cause de l'erreur.
    Juste qu'il y a eu une erreur.

    Il est très important de mettre en place la gestion d'erreur avec le On Error Goto dans le code VBA (pour toutes les procédures qui appellent un traitement. Ex : dans le click d'un bouton) ET avec la programmation de l'événement Sur Erreur des formulaires (pour TOUS les formulaires).

    Généralement cela aide à cerner grosso-modo la zone où se produit l'erreur mais l'attraper il faut parfois recourir au MsgBox à chaque instruction.

    Si tu as besoin d'exemple de code, dit-le.

    En passant il faut aussi prévoir du code pour appeler le gestionnaire de tables liées car il n'est plus accessible depuis l'interface.
    Et tu voudras peut-être ajouter du code pour inventorier les références utilisées et voir si une n'est pas manquante.

    A+

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    Bonjour,
    Merci pour votre réponse.

    J'ai fait ce que vous m'avez dit de faire mais encore la même erreur...
    Voila ce que j'ai fait dans le vba de mon formulaire.



    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
     
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
     
     MsgBox DateErr & " - " & Response
     
    End Sub
     
    Private Sub Form_Load()
     
      On Error GoTo errorHandler
     
      Msgbox "Coucou"
     
    End Sub
     
     
    errorHandler:
     
        MsgBox Err.Number & vbLf & Err.Description
    Impossible a exécuté sur le PC en question, en revanche pas de problème sur les autres PC...

    Je comprend vraiment pas le problème avec ce PC, j'ai desinstaller, réinstaller le RunTime, executé une autres version moins abouti de mon projet et elle s'execute normalement, avec les mêmes références.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    ça sent un conflit de version Access !

    test comme ça!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DoCmd.OpenForm "NomFormulaire"

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    J'ai essayer toujours la même erreur d’exécution.

    J'ai une textbox avec =Date() comme valeur, lors de l’exécution de l'application sur le PC en question a la place de la date il y a "#REF?", (alors que sur les autres la date du jour est bien afficher) vous pensez que c'est en rapport ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    dans vba fait Menu->Outils->références tu devrais avoir de librairie manquante!

    Nom : Sans titre.png
Affichages : 1100
Taille : 48,9 Ko

    si tu décoche Visual Basic For Application ton code devrait s'exécuter sur la machine. en revanche il ne fonctionnera plus sur les autre!

    pour y remédier il faut utiliser l'instance VBA effectivement chargé (VBA)!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    VBA.MsgBox VBA.Date
    VBA.MsgBox VBA.Format(VBA.Date, "yyyy-mm-dd")
    VBA.MsgBox VBA.Trim(VBA.Format(VBA.Date, "yyyy-mm-dd"))
    VBA.MsgBox VBA.CDate(VBA.Trim(VBA.Format(VBA.Date, "yyyy-mm-dd")))
    End Sub

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Ici du code pour avoir la liste des références.
    À exécuter à l'ouverture de l'appli avant tout autre chose.

    How to get programmatically a list of all available references of a VBA project
    https://social.msdn.microsoft.com/Fo...t?forum=isvvba

    A+

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    J'ai ENFIN trouvé d'ou ça venait ! en faite c'était bien une question de référence mais je ne pouvais pas exécuter un seul morceau de code sans que l'appli ne crash sur le PC équipé de la version RunTime d'Access !

    J'ai ensuite essaye d'ouvrir une autre form pour essayer de récupérer un autre message d'erreur pouvant m'éclairer et j'avais un problème avec le contrôle ActiveX (j'ai pas sauvegarder l'erreur en question.

    En recherchant un peu sur Internet j'ai trouvé ce lien :

    https://support.microsoft.com/en-us/...-create-object

    J'ai donc mis à jour la référence DAO en faisant un .bat de ça : regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\DAO\DAO360.DLL"

    Et maintenant tout est rentré dans l'ordre

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

Discussions similaires

  1. [Runtime]problème d'actualisation en mode runtime
    Par kariiim dans le forum Runtime
    Réponses: 7
    Dernier message: 16/04/2007, 18h12
  2. Problème avec le Runtime 2000
    Par edsaar dans le forum Runtime
    Réponses: 2
    Dernier message: 19/03/2007, 23h02
  3. Problème avec "Date()" en mode runtime
    Par bwalbourg dans le forum Runtime
    Réponses: 1
    Dernier message: 25/01/2006, 10h51
  4. ACCESS 97 - Problème de duplication- Runtime error 3022)
    Par mohammedali07 dans le forum Runtime
    Réponses: 11
    Dernier message: 17/01/2006, 13h22
  5. probléme dexécution
    Par etoile1506 dans le forum C
    Réponses: 3
    Dernier message: 22/11/2005, 13h29

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