Avoir un apercu ecran d'un etat access avant de l'imprimer

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 251 fois - Téléchargée 39 fois

Contenu du snippet

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 / Exemple :


'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...

A voir également

Ajouter un commentaire

Commentaires

MWEKASPA
Messages postés
7
Date d'inscription
vendredi 30 mars 2012
Statut
Membre
Dernière intervention
3 novembre 2012
-
TRES TRES RICHE TES CODES, MAIS JE N'AFFICHE QU'UNE SEULE PAGE ET COMMENT FAIRE POUR PLUSIEURS PAGES?
tbjoce
Messages postés
2
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
15 décembre 2009
-
comment se présente un ctrl Webbrowser
merci de m'indiquer
le programme on l'écrit sous VB ou sous Access

Merci pour ces réponses
gbegnonghislain
Messages postés
51
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
5 août 2009
-
C'est un code que je trouve assez interessant et dont j'ai surtout besoin, mais seulement je n'arrive pas à insérer le webbroswer, je ne le trouve pas dans la liste des références, quelqu'un pourrait me dire où le trouver ou quoi faire?
medaz
Messages postés
22
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
9 mai 2005
-
merci celiphane

ton code m'aide bcp,
tahitibts2ig
Messages postés
1
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
21 janvier 2005
-
Salut, la source marche mais je n'arrive pas à faire afficher les autres pages de mon etat.
si il est possibles de le faire merci de m'aider

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.