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 :

Exécution procédures reste bloquée [AC-2016]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut Exécution procédures reste bloquée
    Bonjour,

    depuis quelques jours l'exécution des procédures appelées par l’événement AfterInsert d'un formulaire qui recueille le nom et l'adresse d'un client s'arrête et la barre en bas de la fenêtre reste bloquée sur "Traitement...".

    Il peut arriver qu'une première procédure fonctionne encore (l'impression d'une lettre type Word) mais la deuxième procédure appelée échoue invariablement. Donc, la 1ère rend la main au système mais la 2e ne peut pas prendre la suite. Le blocage n'est pas provoqué par une ligne dans une procédure, un point-arrêt posé à la fin de la procédure qui quitte démontre l'exécution de la ligne. Si je le place au début de la procédure suivante, l'arrêt se produit avant d'arriver à l'exécution de la 1ère ligne. Le blocage arrive donc entre les deux procédures appelées en quelque sort.

    Si j'exécute les procédures appelées une par une à partir de l'éditeur VBA, cela fonctionne sans aucun souci. Si je désactive la première procédure sur laquelle intervient le blocage en la commentant, c'est la suivante qui provoque l'arrêt.

    Est-ce que quelqu'un a une piste pour résoudre ce désagrément ?

    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,
    Il y a dans un des menu vbe la commande Supprimer tous les points d'arrêt. ça résout souvent ce problème.

    Un bon decomp/comp après chaque dev de l'application est une bonne habitude aussi.

    Le decomp/comp expliqué.
    http://blogaccess.free.fr/?p=75

    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

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup pour ton aide. Tes indications m'ont permis d'éliminer de possibles problèmes et d'avancer dans ma recherche.

    Je viens de comprendre l'origine :

    à la suite d'une ligne Set wdApp = Nothing (c'est du code qui imprime une enveloppe)

    le système ne libère pas la ressource, Word ne se ferme pas. Quand je passe par le Gestionnaire des tâches Windows 10 et me porte sur la ligne de Word pour Terminer la tâche, mon code VBA reprend sans souci son déroulement.

    Il faut maintenant trouver pourquoi W10 ne libère plus Word (pour rendre la main à mon code VBA). Aurais-tu (encore) une piste ?

    merci

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour,
    Nothing ne suffit pas pour libérer une application il faut utiliser Quit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wdApp.Quit False ' pour quitter sans sauvegarder, ou alors True
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Merci pour ta remarque.

    Nothing suit Quit qui se trouve à la ligne au-dessus. Et pour être plus précis, c'est en effet Quit qui pose problème car une fois la ligne exécutée par F8, j'arrive sur Nothing et reste bloqué.

  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 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    J'ai rencontré exactement le même problème dernièrement sur un seul poste avec une application qui est installée sur de nombreuses machines.

    Réparation/Réinstallation d'Office 365 n'y ont rien fait.
    L'instruction Quit gèle Word et l'exécution.
    Le document est pourtant créé puisque en tuant la tache le déroulement du code continue et le document généré s'ouvre.

    Ce poste fonctionnait parfaitement depuis plusieurs mois.

    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

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Pour rajouter au mystère, Word est appelé par une autre procédure ensuite et fonctionne correctement. Cela me semble indiquer un conflit d'emplacement de mémoire avec un autre programme (driver peut-être). Vu le nombre de programmes qui tournent en arrière-plan sur une machine de travail, le débogage s'annonce long.

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Nothing suit Quit qui se trouve à la ligne au-dessus.
    l'application est-elle visible ou affiche-t-elle les alertes (DisplayAlerts) ?
    est-ce un Quit avec True ou False pour la sauvegarde ?
    et si tu mets un Close juste avant le Quit ?

    Essaie aussi en mettant l'application en visible avec affichage des alertes ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Pour moi :
    - visible ou non c'est pareil.
    - il n'y a aucun message.
    - quit avec true ou false également.
    - il y a un close sur l'objet doc, close n'existe pas sur l'objet application.

    Cet algo fonctionne parfaitement sur tous les postes sauf un -ça fait une dizaine d'année que j'utilise le même système pour créer des documents Word-. Comme Sierra je pense à une cause externe.

    N'ayant pas le poste sous la main, c'est difficile de faire un audit - de tester les solutions proposées sur le net-, j'ai donc choisi de paramétrer le type de fermeture de Word via le fichier ini de l'application. Pas élégant mais efficace.

    Pour ce poste le quit est remplacé par un Kill du process Word.
    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

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Je confirme en principe le conflit avec un autre programme en mémoire. je pensais en avoir identifié un mais je n'arrive pas à reproduire le blocage (finalement, c'est peut-être un autre... )

    En tout cas, le problème est résolu, la procédure se déroule normalement maintenant.

    Merci à vous tous de m’avoir permis à mieux circonscrire le problème. L'expérience de loufab d'avoir eu une machine qui lui fasse la même misère m'a aidé à persisté dans la ma recherche.

  11. #11
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Je suis intéressé par les manips que tu as fait pour en venir à bout.
    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

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    J'ai décoché l'exécution des programmes chargés en mémoire à l'ouverture de W10 (CCleaner-Outils-Démarrage). J'avoue que je me suis laissé prendre par l'impatience et je n'ai pas été suffisamment rigoureux. Mais après désactivation d'un driver de fax de l'imprimante HP et d'un bout de driver PDF (PDF Create), le problème a disparu. Je garde encore quelques incertitudes par rapport à ces programmes car aucun des ceux-là n'ont été activés vraiment avant l’apparition de mon souci.

    J'essaie de faire régulièrement le ménage dans tous les schedulers et autres bouts de code chargés à l'ouverture. Mais on arrive vite à une quarantaine si on ne fait pas attention. De façon générale, je soupçonne les drivers et ces schedulers de faire mauvais ménage avec les autres.

    mais je pense qu'il peut y avoir de grandes différences d’une machine à une autre.

  13. #13
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    ok merci pour ces infos.
    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

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/05/2014, 14h03
  2. Exécuter procédure pour chaque ligne d'un Select
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2006, 08h58
  3. [VB.NET]Performance exécution procédure stockée
    Par Franck2mars dans le forum Windows Forms
    Réponses: 3
    Dernier message: 29/05/2006, 16h11
  4. [SQL SERVER 2K]Droits d'exécution procédure stockée
    Par Franck2mars dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 16/05/2006, 15h01

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