begin process at 2012 02 12 15:31:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > 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

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Niveau :Initié Date de création :16/12/2002 Date de mise à jour :16/12/2002 23:26:44 Vu :11 831

Auteur : celiphane

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


 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

Source .NET (Dotnet) [.NETV2] CLASSCOM - CLASSE DE COMMUNICATION EN RÉSEAU SIMPLI...
Source avec Zip Source avec une capture COMPARAISON ENTRE 2 CHAINES, RETOURNE UN POURCENTAGE DE RESS...
Source avec Zip CLASS POUR TRANSFERER DES FICHIERS VIA WINSOCK AVEC CONTROLE...
Source avec Zip Source avec une capture CLASS POUR GENERER DYNAMIQUEMENT DES CONTROLES DANS UN CONTE...
Source avec Zip MOTEUR DE SERVEUR FTP OBJET ET FONCTIONNEL TESTE SOUS FILEZI...

 Sources de la même categorie

Source avec Zip Source avec une capture BIEN ADMINISTRER LES ETUDIANTS ET LEURS CÔTES par okosa
Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source .NET (Dotnet) MISAHORAIRE par MdelM
Source avec Zip Source avec une capture BASEDEDONNEES,GESTIONDEMALADES,DATABASSE par shadkitenge

Commentaires et avis

Commentaire de Neo.balastik le 17/12/2002 09:21:12

La méthode pourrait séduire certains.  Mais VB6 inclus le DataReport qui n'est pas mal du tout.  Certes, il n'arrive pas à la hauteur des états dans Access, mais il peut toutefois créer des rapports complets et avec aperçu !  Cela évite d'utiliser le bien lourd WebBrowser ainsi que l'autre bien lourd Access.  Imaginons une application développée avec ta méthode qui devra être distribuée à d'autres personnes...  Il faudra absolument qu'Access soit installé sur la machine client !  Pas très séduisant...  Mais j'apprécie tout de même cet effort d'imagination.

Bonne continuation...
NéoB

Commentaire de celiphane le 17/12/2002 11:03:57

Je ne connais pas ce ctrl (DataReport), d'ailleurs il n'appartient pas à ma liste de composant par défaut.

Sinon, l'application qui  contient ce code est à exporter sur une machine client, et malgré tes dires, l'empaquetage d'installation VB ne m'a pas tenu rigueur de ces rmqs, j'espère ne pas rencontré ce pb.

De plus, le webrowser est d'origine sur les postes car c'est IE.
C'est pas si lourd à la vue de la fonctionnalité...
Mais bon j'ai trouvé que ça... Si qq1 trouve à faire la même chose en "moins lourd", et bien qu'il le dise ;)

@+

Commentaire de Soda le 18/12/2002 11:14:22

g pas trop eut le temps de voir la source mais j'aime bien tout ce qui est bidouille...

Commentaire de vbarmy le 28/02/2003 11:42:22

C'est lourd !
Personellement j'utilse Crystal Report, c'est gratuit et c'est fourni sur le cd de vb, mais il faut l'installer soi même à la main. Ca fonctionne comme un état access en mieux.

Dans les composants/contrôles de vb tu coche Crystal Report Control, puis tu en mets un sur ton form.

Et le code pour imprimer :
NomForm.NomControlCrystal.ReportFileName=Chemin d'accès au Crystal.rpt
NomControlCrystal.Action=1 'Appercu avant impression

Voila Deux lignes de code et c'est tout.

Commentaire de celiphane le 28/02/2003 15:01:49

merci !

Commentaire de Damien10 le 07/04/2003 10:59:28

Salut,

J'aime beaucoup ce code, je voudrais juste savoir si c'est possible, comment faire pour inclure les librairies access dans l'install VB

Afin de ne pas avoir access et pas d'install de runtime.

Merci.

Commentaire de trifonnerie le 12/11/2003 18:30:15

Salut c'est pas mal mais Access s'ouvre et si l'utilisateur ne possede pas access c'est embetant. enfin je te felicite pour code

trifon

Commentaire de Fabio972 le 18/01/2004 14:22:41

Heeuu... Zut ! Je ne trouve pas Crystal Report sur mopn CD de VB 6.

Vous pourriez m'expliquer comment le trouver et l'installer car sinon je vais devoir utiliser l'astuce de Celiphane (excellente d'ailleurs ;-) mais mes clients N'ONT PAS ACCESS :-)

Merci

Commentaire de tahitibts2ig le 21/01/2005 03:36:18

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

Commentaire de medaz le 28/04/2005 11:57:01

merci celiphane

ton code m'aide bcp,

Commentaire de gbegnonghislain le 11/01/2006 11:08:14

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?

Commentaire de tbjoce le 18/05/2006 19:07:47

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

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,855 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales