VBA Access : Impression des Etats (Reports)

cs_DPhBxl Messages postés 19 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 21 juin 2011 - 21 janv. 2005 à 16:37
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 24 janv. 2005 à 11:18
Bonjour,

J'ai créé un code en VBA qui modifie un graphique composé de lignes, de rectangles et de labels dans un etat.
Je désire imprimer l'état à chaque modification. C'est-à-dire pour chaque enregistrement lu dans la DB. Il y a 2000 enregistrements... il y a donc 2000 impressions à démarrer sur base du même état modifier 2000 fois.

Quelqu'un peut m'expliquer comment imprimer dans VBA Access pour le cas qui me concerne.

Remarque: Y a-t'il moyen d'imprimer dans un fichier plutôt que vers une imprimante ?

Merci,
DPhBxl

4 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
22 janv. 2005 à 15:18
Salut,
Je ne pense pas que tu puisse intercepter chaque enregistrement dans un report. Pour ta 2ème question c'est la propriété OutputTo si mes souvenirs sont bon.

Dim stDocName As String


stDocName = "Ici le nom de ton Report"
DoCmd.OutputTo acReport, stDocName

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
1
cs_DPhBxl Messages postés 19 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 21 juin 2011
24 janv. 2005 à 09:37
Merci Valtrase pour ce début de réponse.

En ce qui concerne l'interception de chaque enregistrement, je le fais et çà marche. Mais après chaque modification du report basé sur chaque enregistrement, je dois trouver une solution pour imprimer le report.
L'idéal serait de sauvegarder chaque état dans un fichier en ajoutant une page à chaque fois au même fichier (ex en Word) pour ne pas obtenir 2000 fichiers séparés.
En ce qui concerne la commande "OutputTo", j'avais déjà fait l'essai, mais l'exportation de l'état se fait uniquement au niveau des textes inclus dans l'état et pas les graphiques .
Dans le pire des cas, il me faudra imprimer l'état à chaque modification dans une boucle (c'est le but de toute façon). Mais je ne connait pas la commande qui permet d'imprimer un état.

Merci de votre aide,
DPhBxl
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
24 janv. 2005 à 11:03
Re,
pour imprimer ton report utilises

Function PrintReport([ShowDialog As Boolean = Faux], [Range As PageRangeConstants = rptRangeAllPages], [PageFrom], [PageTo]) As Long

tout est option donc:

Report.PrintReport


et pour l'exporter sous VB6

Function ExportReport([FormatIndexOrKey], [FileName], [Overwrite As Boolean = Vrai], [ShowDialog As Boolean = Faux], [Range As PageRangeConstants = rptRangeAllPages], [PageFrom], [PageTo]) As Long

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
24 janv. 2005 à 11:18
Oups c'est le matin t'es en VBA donc
dans ton cas c'est AcView qui t'intéresses pour imprimer directement


expression.OpenReport(ReportName, View, FilterName, WhereCondition, WindowMode, OpenArgs)


expression Obligatoire. Expression qui renvoie un objet DoCmd.


ReportName Variant requis. Une [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaac10.chm::/html/acmthactOpenReport.htm# expression chaîne] qui est le nom valide d'un état dans la base de données en cours. Si vous exécutez un code Visual Basic contenant la méthode OpenReport dans une [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaac10.chm::/html/acmthactOpenReport.htm# base de données bibliothèque], Microsoft Access recherche l'état sous ce nom, d'abord dans la base de données bibliothèque, puis dans la base de données en cours.


View [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaac10.chm::/html/acmthactOpenReport.htm# AcView] facultatif. La vue à appliquer à l'état spécifié.






AcView peut être une de ces constantes AcView.,
----

acViewDesign,
----

acViewNormal défaut Imprime l'[mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaac10.chm::/html/acmthactOpenReport.htm# requête] dans la base de données en cours.


WhereCondition Variant facultatif. Une expression chaîne qui est une [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaac10.chm::/html/acmthactOpenReport.htm# clause WHERE] SQL valide sans le mot WHERE.


ModeFenêtre [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaac10.chm::/html/acmthactOpenReport.htm# AcWindowMode facultatif]. Le mode dans lequel s'ouvre le formulaire.






AcWindowMode peut être une de ces constantes AcWindowMode.,
----

acDialog Les propriétés Modal et PopUp du formulaire sont réglées sur Yes.,
----

acHidden Le formulaire est masqué.,
----

acIcon Le formulaire s'ouvre sous forme réduite dans la barre des tâches Windows.,
----

acWindowNormal par défaut Le formulaire est dans le mode défini par ses propriétés


OpenArgs Variant facultatif. Définit la propriété [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaac10.chm::/html/acproOpenArgs.htm OpenArgs].


Remarques

Pour plus d'informations sur le mode de fonctionnement de l'action et de ses arguments, reportez-vous à la rubrique Action.


L'argument WhereCondition peut comporter jusqu'à 32 768 caractères (contrairement à l'argument de l'action Where Condition de la fenêtre Macro, dont la longueur ne peut excéder 256 caractères).


Vous pouvez laisser un argument facultatif vierge au milieu de la syntaxe, mais vous devez inclure la virgule de l'argument. Si vous laissez un ou plusieurs arguments de fin vierges, n'utilisez pas de virgule à la suite des arguments spécifiés.


Exemple

Cet exemple imprime un État des ventes à l'aide de la requête existante Filtre État.

DoCmd.OpenReport "Sales Report", acViewNormal, "Report Filter"





Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous