Accueil > > > AVOIR UN APERCU ECRAN D'UN ETAT ACCESS AVANT DE L'IMPRIMER
AVOIR UN APERCU ECRAN D'UN ETAT ACCESS AVANT DE L'IMPRIMER
Information sur la source
Description
Slt à tous, ce bout de code ne va pas servir à bcp d'entre vous, mais j'ose espérer que comme pour moi, ceux qui en auront besoin seront bien content ! Je m'explique : je part d'une base de donnée Access, qui contient des données, et je veux sortir ces données proprement pour un utilisateur (vous savez cet espèce chian... et emmerda... pour les programmeurs ;) ). Pour cela, ya rien de mieux qu'un état Access pure, fait par lui-même : et là cet état je voulais l'afficher, comme access l'aurait fait dans une feuille pour un aperçu avant impression quoi. J'ai chercher partout mais les codes existants soit imprimaient directement (je voulait un aperçu !), ou m'affichait ce que je voulais mais DANS access !!! Et moi je veux pas que l'utilisateur se retrouve sous Access ! Donc j'ai pondu ça (comme une poule, sisi) :
Source
- 'ATTENTION : Il faut qd mm référencer les "Microsoft Access xx Library Object"
- 'Ba oui j'utilise Access qd mm, je suis pas magicien !
-
- 'Il vous faut aussi un ctrl Webbrowser sur la form nommé Wb
-
- Private Sub BT_Click()
- On Error Resume Next
- Dim A As Access.Application
-
- Set A = CreateObject("Access.Application")
-
- 'là j'ouvre la base qui m'interesse, ici bd1.mdb du dossier de l'appli
- A.OpenCurrentDatabase App.Path & "\bd1.mdb"
-
- 'et là, c'est toute l'astuce, j'exporte l'état vers un fichier HTML !!!
- 'Ici, "Epiece" c'est le nom de l'état de la base qui m'interesse
- A.DoCmd.OutputTo acOutputReport, "Epiece", acFormatHTML, App.Path & "\tmp.html"
- A.Quit
- DoEvents
-
- 'Maintenant j'affiche la page générée dans mon Webbrowser Wb (que j'ai
- 'caché en dehors de la feuille : attention le visible =false fait des bugs)
- 'Le ctrl d'erreur c'est parceque des fois c'est pas pret et ca plante
- Do
- Wb.Navigate App.Path & "\tmp.html"
- DoEvents
- Loop Until Wb.ReadyState = READYSTATE_COMPLETE
-
- 'ça c'est parceque l'aperçu se dimensionne à la taille de la forme
- 'donc je la met en plein écran temporairement
- Me.WindowState = 2
-
- 'et ici je demande au Webbrowser de m'afficher l'apercu impression de la page
- 'le ctrl d'erreur est a peu pret pour les mm raisons, sur les systemes lents
- 'c'est parfois pas pret et ca plante, a qq dixieme de sec, c con !
- Do
- Err.Clear
- Wb.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT
- DoEvents
- Loop Until Err.Number <> -2147221248
-
- 'ici je remet enfin la form a sa taille initiale
- Fimpression.WindowState = 0
-
- End Sub
-
- 'ET LA VOUS AVEZ SOUS VOS YEUX l'apercu avant impression de l'état Access
'ATTENTION : Il faut qd mm référencer les "Microsoft Access xx Library Object"
'Ba oui j'utilise Access qd mm, je suis pas magicien !
'Il vous faut aussi un ctrl Webbrowser sur la form nommé Wb
Private Sub BT_Click()
On Error Resume Next
Dim A As Access.Application
Set A = CreateObject("Access.Application")
'là j'ouvre la base qui m'interesse, ici bd1.mdb du dossier de l'appli
A.OpenCurrentDatabase App.Path & "\bd1.mdb"
'et là, c'est toute l'astuce, j'exporte l'état vers un fichier HTML !!!
'Ici, "Epiece" c'est le nom de l'état de la base qui m'interesse
A.DoCmd.OutputTo acOutputReport, "Epiece", acFormatHTML, App.Path & "\tmp.html"
A.Quit
DoEvents
'Maintenant j'affiche la page générée dans mon Webbrowser Wb (que j'ai
'caché en dehors de la feuille : attention le visible =false fait des bugs)
'Le ctrl d'erreur c'est parceque des fois c'est pas pret et ca plante
Do
Wb.Navigate App.Path & "\tmp.html"
DoEvents
Loop Until Wb.ReadyState = READYSTATE_COMPLETE
'ça c'est parceque l'aperçu se dimensionne à la taille de la forme
'donc je la met en plein écran temporairement
Me.WindowState = 2
'et ici je demande au Webbrowser de m'afficher l'apercu impression de la page
'le ctrl d'erreur est a peu pret pour les mm raisons, sur les systemes lents
'c'est parfois pas pret et ca plante, a qq dixieme de sec, c con !
Do
Err.Clear
Wb.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT
DoEvents
Loop Until Err.Number <> -2147221248
'ici je remet enfin la form a sa taille initiale
Fimpression.WindowState = 0
End Sub
'ET LA VOUS AVEZ SOUS VOS YEUX l'apercu avant impression de l'état Access
Conclusion
Voilà !
Si vous avez un truc meilleur, PITIE dites le moi, en tout cas ça ça tourne bien. Libre à vous par la suite de remplir la base avec des instructions SQL sous VB afin de formater une sortie de données personnalisées, comme je m'apprete a le faire...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|