|
Sujet n°222 |
Suivre les impressions
par MiachonH
le 10/01/2009 : 18:19 |
Bonjour, Intéressé par le mémo "Imprimer ou non" En utilisant l'évènement "Page", quel code pour comptabiliser dans une table le nbr de fois où un rapport a été imprimé? Merci d'avance |
Réponse n° 1 |
par 3Stone le 10/01/2009 : 21:15 |
Bonjour,
Dixit...En utilisant l'évènement "Page"...
Pourquoi veux-tu utiliser l'événement "Page" ? Le code indique clairement que c'est dans le "Report_Close" que cela doit être fait. Si tu as une table "tbl_PrintReport" avec un champ "PrintDate" (qui sera donc un champ date/heure) il suffit d'ajouter à l'endroit prévu : DoCmd.Execute "Insert Into tbl_PrintReport (PrintDate) Values (#" & Now & "#);" Ainsi, dans la table tu trouveras la date et l'heure de chaque impression. Pour afficher le nombre d'impression, un simple : =DCount("PrintDate";"tbl_PrintReport") dans une zone de texte affichera l'information. Cordialement, Pierre(3stone) |
Réponse n° 2 |
par MiachonH
le 12/01/2009 : 09:17 |
En fait, je veux compter les envois à l'imprimante, et je n'entrevois que la solution de l'envoi de l'impression directe sans passer par la prévisu.(on peut prévisualiser mais ne pas imprimer). Je voudrais aussi numéroter les impressions papier Pour être + précis: j'ai une table comportant des indications de pesage sur un pont-bascule (N°_Ticket,..., NbrOfPrint) A la création de l'enregistrement, NbrOfPrint=0 A la 1° impresssion, on met à jour NbrOfPrint=1, puis le ticket est imprimé. Cordialement MiachonH |
Réponse n° 3 |
par 3Stone le 12/01/2009 : 14:41 |
Bonjour,
Tu devrais relire attentivement l'article "Imprimer ou non" qui jusqu'à preuve du contraire, est le seul code qui permette de savoir si un état à été envoyé vers l'imprimante ou non. Il n'est donc pas question (ni possible) d'utiliser d'autres événements (ou autrement) que ceux décrits!
Il faut donc utiliser ce que j'explique dans ce code. De plus, c'est prémâché
Cordialement, Pierre(3stone)
|
Réponse n° 4 |
par HMiachon
le 14/01/2009 : 12:32 |
Le pbm, c'est que justement, j'ai lu très attentivement le code et je n'ai pas compris comment la variable Printing pouvait être à 1. OK, je mérite la remontée de bretelles : j'aurais du essayer avant, cela m'aurait permis de constater que cela marchait, même si je ne comprend pas comment! Une fois l'état ouvert en prévisu, la variable Printing =0 (je comprend) Si on ferme sans imprimer, elle reste à 0 (je comprends) Si on imprime, elle passe à 1. Pourquoi ? Quelle est l'action/l'évènement que je ne vois pas dans le code et qui met à jour cette valeur? Cordialement (PS: un petit pbm: si on ne recopie pas correctement le code de validation - doute entre zéro0 et lettre O par exemple - et qu'on envoie le message, l'envoi est bien évidemment refusé, mais le hic est que tout le texte est perdu. Pas top!) HMiachon |
Réponse n° 5 |
par 3Stone le 14/01/2009 : 20:37 |
Bonjour,
Dixit...si on ne recopie pas correctement le code de validation - doute entre zéro0 et lettre O par exemple - et qu'on envoie le message, l'envoi est bien évidemment refusé, mais le hic est que tout le texte est perdu. Pas top!
Si l'on doute du code à saisir, il suffit de cliquer sur le symbole à coté et un nouveau code est généré.
Désolé pour ce désagrément, mais les robots spammeur...
Cordialement, Pierre(3stone)
|
Réponse n° 6 |
par HMiachon
le 15/01/2009 : 08:32 |
Bonjour, OK pour le code de validation. Mais quid de la question que je posais: "Qu'est-ce qui fait changer la variable à 1 quand on lance l'envoi à l'imprimante?" Cordialement HMiachon |
Réponse n° 7 |
par 3Stone le 15/01/2009 : 13:03 |
Bonjour,
Le code est commenté, pourtant...
Ce n'est pas UN événement qui permet cette détection (sinon, à quoi servirait le reste..) mais la combinaison des trois événements utilisés qui permet au final (à la fermeture) de savoir si oui ou non cet état à été envoyé vers une imprimante.
Si tu cherches à comprendre le déroulement, interresse toi à l'ordre des événements dans un état.
Cordialement, Pierre(3stone)
|
Réponse n° 8 |
par HMiachon
le 15/01/2009 : 16:32 |
Je me suis intéressé à l'ordre des évènements: j'ai mis des points d'arrêt à chaque procédure. J'ai vu quelque part dans la doc MS que l'évènement Impression en-tête a lieu quand on prépare la prévisualisation (ce que j'ai bien constaté avec le point d'arrêt à ZoneEntêtePage_Print) mais aussi quand on lance l'impression (mais là le point d'arrêt ne marche pas, ce qui ne m'a pas permis jusqu'à maintenant de comprendre réellement ce qui se passe). Suis-je dans le vrai ( l'évènement Impression en-tête a lieu quand on lance l'impression)? Merci de ta patience HMiachon |
[ Retour à la liste des sujets ]
| Recherche
Préférences
1 membre
Connectés :
( personne )
|