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 :

L'acces au deboggueur fait planter Ms-Access


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
    Juin 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 79
    Par défaut L'acces au deboggueur fait planter Ms-Access
    Bonjour,

    une appli developpée sous Access 2007 me pose depuis quelques jours de gros soucis : je ne peux plus entrer en mode debug, cela fait instantanément planter Access.

    Le contexte :
    - une base splittée en frontale/dorsale, la dorsale ne contenant que des tables
    - un formulaire avec plusieurs listes déroulantes permettant de choisir des critères.
    - un bouton pour valider. Une fois validé, affichage d'un autre formulaire sur lequel on affiche les résultats en fonctions des critères sélectionnés.
    - du code VBA rattaché au formulaire (contrôle des différentes valeurs sélectionnées sur les listes)
    - un module VBA permettant d'alimenter le formulaire Résultat.

    Du grand classique, quoi...
    En mode "normal", l'appli fonctionne très bien, les résultats sont affichés correctement, RAS (si ce n'est quelques bugs résiduels, parfaitement de mon fait).

    Le problème :
    Si j'insère un point d'arrêt dans le code du formulaire de départ, tout va bien jusqu'à ce que le code "sorte" du formulaire :
    - j'appelle l'ouverture du formulaire suivant (Application.DoCmd.OpenForm "FRM0_Result"), c'est ok.
    - Le code entre alors dans le Form_Activate de FRM0_Result, je vois la 1ere ligne de code surlignée en jaune et... Access plante.

    Si j'insère un point d'arrêt ailleurs (formulaire résultat ou module), Access plante (Microsoft Access a cesse de fonctionner) dès l'entrée dans le debogueur.

    Conclusion :
    Ca craint ! J'ai beaucoup de mal a écrire des requetes SQL en partie paramétrées si je ne peux pas suivre certaines variables... mais surtout je ne peux pas deboguer quand il y a un soucis.

    L'observateur d'évènement indique effectivement une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Nom de l’application défaillante MSACCESS.EXE, version : 12.0.6606.1000, horodatage : 0x4e27ab6b
    Nom du module défaillant : MSACCESS.EXE, version : 12.0.6606.1000, horodatage : 0x4e27ab6b
    Code d’exception : 0xc0000005
    Décalage d’erreur : 0x0057a6bb
    ID du processus défaillant : 0xb3c4
    Heure de début de l’application défaillante : 0x01cee08922d4a238
    Chemin d’accès de l’application défaillante : C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE
    Chemin d’accès du module défaillant: C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE
    J'ai bien évidemment farfouillé les forums ici et là, sans trouver de problème similaire, le code exception 0xc0000005 semble assez générique ; j'ai compacté la base ; j'ai créé une copie de sauvegarde (en passant par le menu Access kivabien) ; sur les conseils d'un collègue, j'ai créé une nouvelle base, recréé les liens externes, recréé les modules (un par un, par copier/coller du code), importé les formulaires : tout ceci n'a rien changé.

    J'ai testé et reproduit le problème sur un poste Windows XP (32 bits)/Access 2007 (32 bits) et un poste Windows 7 64bits/Access 2007 (32 bits) : le problème se répète sur les 2 plateformes.


    Auriez-vous une idée, voire une simple piste, pour refaire tomber en marche ce debogueur ?
    En vous remerciant par avance pour vos lumières,
    Largo

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 415
    Par défaut
    De manière général ton code compile-t'il sans erreur ? Si non, règle ces erreurs en priorité ou mets le code fautif en commentaire.

    Ensuite tu peux essayer un /Decompile c'est un paramètre non documenté de la ligne de commande qui enlève le code qui est créé en tâche de fond.

    Tu peux aussi essayer de détruire le formulaire qui t'embête et le recréer.

    Si tu as accès à un autre poste, fait créer une base vide sur ce poste puis importe tous les objets de la BD qui plante dans la base vide.

    A+
    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
    Juin 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 79
    Par défaut
    Citation Envoyé par marot_r Voir le message
    De manière général ton code compile-t'il sans erreur ? Si non, règle ces erreurs en priorité ou mets le code fautif en commentaire.
    Oui, il compile sans erreur

    Ensuite tu peux essayer un /Decompile c'est un paramètre non documenté de la ligne de commande qui enlève le code qui est créé en tâche de fond.
    Ce paramètre est à ajouter à la ligne de commande d'Access ? Ca me permettra de démontrer quoi ?

    Tu peux aussi essayer de détruire le formulaire qui t'embête et le recréer.
    Il est relativement lourd, avec un graphique, 1 a 3 sous-formulaires avec des formats conditionnels, si je pouvais éviter... Mais je sens que je vais devoir y passer

    Si tu as accès à un autre poste, fait créer une base vide sur ce poste puis importe tous les objets de la BD qui plante dans la base vide.

    A+
    Je l'ai fait sur le même poste, je le referrai demain sur mon poste en Windows XP.

    Merci pour ces pistes

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 415
    Par défaut
    Citation:
    Ensuite tu peux essayer un /Decompile c'est un paramètre non documenté de la ligne de commande qui enlève le code qui est créé en tâche de fond.

    Ce paramètre est à ajouter à la ligne de commande d'Access ? Ca me permettra de démontrer quoi ?
    Une fois ta base "décompliée", tu peux la recompiler. Parfois le code compilé accumule des "cochoneries" et plante l'application. La décompilation permet de repartir à blanc.

    Fait une recherche sur Google pour voir comment te servir de Decompile.

    A+
    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.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 79
    Par défaut
    J'ai donc fait une décompile, suivi d'un compactage, comme conseillé chépluoù, sans succès.
    J'ai copié le code du module (où le debugeur plante systématiquement en entrant) dans un éditeur de texte (Notepad++), ai supprimé le module, compacté la base, recrée un module, copié le code depuis Notepad++ et collé dans ce nouveau module. Pareil
    Il me reste donc a faire pareil avec tous les modules et tous les formulaires ?

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 138
    Par défaut
    Bonjour,

    Pour éviter de perdre du temps et vu le type de message je tenterais de faire la manip sur un autre poste. Si ça fait pareil c'est le fichier sinon... ben forcément c'est que le poste est pourri.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. [Débutant] FileSystemWatcher: Chemin d'accès trop long fait planter mon programme.
    Par BasicZX81 dans le forum VB.NET
    Réponses: 6
    Dernier message: 18/06/2015, 19h24
  2. Réponses: 6
    Dernier message: 21/02/2011, 05h20
  3. [Access 2003] Macro qui fait planter Access
    Par nuriel2 dans le forum Access
    Réponses: 5
    Dernier message: 10/05/2006, 14h00
  4. MS Project fait planter Access
    Par yoyo30 dans le forum Access
    Réponses: 4
    Dernier message: 22/09/2005, 09h56
  5. Réponses: 12
    Dernier message: 16/03/2004, 14h21

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