2010-12-06 47 views
1

J'utilise OutputTo pour créer des rapports, mais mes rapports contiennent du code VBA pour le style et la mise en forme, et lorsque j'utilise la fonction OutputTo, il ignore mon code report-vba.Utiliser "OutputTo" pour créer un rapport avec le code VBA

Mon code:

DoCmd.OutputTo acOutputReport, "Report Name", acFormatSNP, "File Path", False 

Savez-vous un moyen de créer automatiquement des rapports qui exécuteront le code rapport-vba?

Merci.

Répondre

0

J'ai fini par supprimer le code VBA utilisé pour le style et l'édition.

0

Si vous voulez que la sortie ressemble exactement au rapport affiché dans Access, PDF est probablement le meilleur pari (grâce à iDevelop). Cependant, en fonction de votre version d'Access, il se peut que vous ne puissiez pas créer de PDF avec OutputTo, mais seulement dans la version 2007. Une alternative est de construire votre propre sortie html, qui peut être assez jolie.

+0

J'utilise le format instantané, mon code: DoCmd.OutputTo acOutputReport, "ReportName", acFormatSNP, "FilePath", Faux – Aducci

+0

Quel est le code rapport-vba qu'il ne tient pas compte? – Fionnuala

+1

Ou, vous pourriez sortir au format PDF. Dans A2007/A2010, c'est intégré, mais dans les versions antérieures, cela peut être fait aussi, par un certain nombre de méthodes (j'utilise PDFCreator, qui est automatisable via VBA). –

0

GD Aducci,

j'avais même problème et a résolu le problème en supprimant la VBA dans le rapport.

tout en contemplant mes succès, je me demandais ce qui pourrait être la solution pour la question ...

Rappelez-vous c'est une idée, pas un morceau essayé de code.

va ici:

Si vous drapeau "le résultat de la mise en forme et le style du code VBA dans votre rapport et d'en faire une variable booléenne, vous seriez en mesure d'échantillonner/récupérer la variable à partir de votre code d'exécution . C'est à dire. vous seriez en mesure de récupérer le «statut de rendu» du document. Vous pouvez ensuite retarder l'exécution de la routine 'OutputTo' en vérifiant si tous les drapeaux sont 'true' si tous les drapeaux sont corrects, puis le formatage et le style doivent être terminés et l'exportation au format PDF est facultative, si ils ne reviennent pas comme 'vrais' alors la routine 'OutputTo' devrait être retardée encore plus loin.

Il semble que 'OutputTo' continue à s'exécuter sans confirmer si le rendu du document est terminé et donc ignore (et entre en conflit) tout codage VBA présent dans le document. Donc, seule l'option est de vérifier si tout le code a été exécuté avant de présenter le document rendu à la commande 'OutputTo'?

Peut-être coder le 'OutputTo' en tant que fonction et y faire référence à partir du document rendu ...? Comme je l'ai dit, je n'ai pas codé -yet- mais c'est peut-être la solution?

bravo!