2008-11-04 10 views
1

J'ai créé un rapport dans le rapport MS Access et écrit du code VBA pour récupérer les données et afficher le rapport au format MS-Word. Cependant, lors de la génération du rapport sur l'exécution, le rapport affiche d'abord ou fait clignoter la vue de conception du rapport pendant quelques secondes et le rapport est généré.Les rapports MS-Access affichent la vue de conception lors de l'exécution

Je voudrais trouver une solution pour éviter ce clignotement de la vue de conception tout en générant le rapport. Est-ce possible dans ce codage MS-Access ou VBA. ??

Je poste les lignes que j'ai utilisées pour appeler le rapport d'accès à partir du code du formulaire d'accès.

première DoCmd.OpenReport! [Argument], acPreview

cela va générer le rapport, mais l'écran de conception clignote pendant quelques secondes pendant l'exécution.

Et aucun code VBA n'a été écrit dans le rapport d'accès. Le fonctionnement actuel est, j'ai préparé les données dans une table d'accès temporaire et générer le rapport à partir de la table.

Le problème ici est, lors du lancement du rapport en mode aperçu, l'écran de conception du rapport affiche quelques secondes. Cela semble mauvais du côté des utilisateurs.

+0

Quelle version d'Access? Y a-t-il seulement cette seule ligne de code ou y a-t-il un code d'installation qui modifie le design? – Knox

Répondre

0

Que se passe si vous essayez ce code:

Dim strReport As Report   
    strReport = rst!Argument 
    If SysCmd(acSysCmdGetObjectState, acReport, strReport) Then 
    DoCmd.Close acReport, strReport 
    End If 
    DoCmd.OpenReport strReport, acPreview 

Qu'est-ce que le code n'est de vérifier si le rapport est déjà ouvert dans une vue, puis ferme si elle est, puis ouvre. Cela assure que vous n'êtes pas en mode design avec la fenêtre cachée.

Et le code évite également tout problème de référence ByRef pouvant être associé à la transmission d'une valeur d'un jeu d'enregistrements à la commande OpenReport.

1

Il semble que vous ouvrez le rapport en mode Création afin de modifier certaines propriétés. Il est peut-être possible d'éviter cela, mais vous devrez afficher le code qui ouvre le rapport pour être sûr.

0

Comment exportez-vous le rapport vers MS-Word? Quel est le code?

Avez-vous essayé la même chose avec un rapport simple (avec une source de données de table) au lieu d'utiliser le code VBA? Peut-être que le VBA prend tellement de temps à fonctionner que le rapport est ouvert en mode de conception suffisamment longtemps pour être perceptible.

0

J'ai la même chose se produire lorsque j'appelle un rapport MS Access à partir d'une application VB6. La raison pour laquelle cela arrive dans mon cas est parce que j'ai un formulaire à apparaître au démarrage. Si vous n'avez pas sélectionné un formulaire de démarrage, il ne doit pas être visible, donc pas de clignotant. Faites-moi savoir si cela aide.

Mike

Questions connexes