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 :

Différence de comportement sur un openreport [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut Différence de comportement sur un openreport
    Bonjour,

    J'ai une application qui ouvre des états, soit en mode aperçu, soit en mode impression directe. à partir d'un formulaire

    Certains états doivent être mis à jour avec des informations que j'extrait à partir d'une table paramètre, et qui ne font pas partie des données sur lesquelles les états sont basés.
    Pour mettre à jour les données, j'ai rajouté du code dans l'événement Report_load.

    Lorsque j'ouvre le formulaire par un DoCmd.OpenReport :
    en mode aperçu avant impression (paramètre acViewPreview) -> l'événement Report_load s'exécute
    en mode impression directe (pas de paramètre) -> l'événement Report_load ne s'exécute pas et mes champs ne se mettent pas à jour.

    Avez-vous rencontré un problème similaire ?
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
    si tout est OK, n'oubliez pas de cliquer sur

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je ne suis pas sûr, mais à vérifier quand même.

    en mode impression directe (pas de paramètre) -> l'événement Report_load ne s'exécute pas et mes champs ne se mettent pas à jour.
    Il s'exécute peut-être, mais pas assez vite ! => l'impression se fait avant qu'il ait terminé.

    Essaie de placer un sleep à la fin du Report_load pour l'obliger à temporiser quelques fractions de seconde.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Bonjour,

    Je ne suis pas sûr, mais à vérifier quand même.



    Il s'exécute peut-être, mais pas assez vite ! => l'impression se fait avant qu'il ait terminé.

    Essaie de placer un sleep à la fin du Report_load pour l'obliger à temporiser quelques fractions de seconde.
    Merci Claude,

    Je vais tester et je vous tiens au courant
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
    si tout est OK, n'oubliez pas de cliquer sur

  4. #4
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour,

    J'ai fait le test en rajoutant un sleep 2000 (2 secondes), et j'ai continué à constater que, dans le cas de l’impression directe, (docmd.openreport sans option preview), le programme ne passait pas dans l'événement report_load (j'ai rajouté trace et point d'arrêt).
    Sur quel événement pourrais-je brancher mon code d'alimentation des contrôles de mon état ?
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
    si tout est OK, n'oubliez pas de cliquer sur

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    As-tu déjà essayé avec Report_Open au lieu de Report_load ?
    Ne peux-tu pas loger les données quelque part (dans des variables globales par ex.) avant d'ouvrir ton état qui y ferait alors référence ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #6
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Bonjour,

    As-tu déjà essayé avec Report_Open au lieu de Report_load ?
    Ne_l peux-tu pas loger les données quelque part (dans des variables globales par ex.) avant d'ouvrir ton état qui y ferait alors référence ?

    Bonjour,

    J'ai suivi ton conseil et effectivement ça marche. J'avais quand même quelques craintes car pour moi dans un événement xx_open, on ne pouvait pas faire de manipulation de données; on devait attendre un événement xx_load.
    De plus, j'ai du mal à comprendre comment fonctionne l'option (Cancel[ ) de l'openreport, car chaque fois je faisais des tests, le rapport se fermait avec un message "opération annulée par action utilisateur" (je suppose que lorsque tu mets une msgbox dans ton code, ou un point d’arrêt, ça déclenche l’équivalent du cancel, donc j'ai remplacé par un debug.print, et là plus de problème).

    Merci pour ton aide.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
    si tout est OK, n'oubliez pas de cliquer sur

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Pour être honnête : je ne sais pas pourquoi ça marche maintenant ! Je fonctionne à l'instinct.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/09/2010, 17h45
  2. Différence d'heure sur access
    Par dddodo dans le forum Access
    Réponses: 9
    Dernier message: 28/12/2006, 11h31
  3. Réponses: 2
    Dernier message: 21/08/2006, 11h56
  4. [swing]Différence de comportement selon hardware
    Par xxaragornxx dans le forum Composants
    Réponses: 13
    Dernier message: 16/11/2005, 17h51
  5. [JFrame] Explication sur une différence de comportement
    Par jems dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 06/07/2005, 09h23

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