Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1574 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  rafraichissement de rapports BO en VBA...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

rafraichissement de rapports BO en VBA...

n°693901
petburn
Posté le 06-04-2004 à 16:56:36  profilanswer
 

bonjour,
 
je souhaiterais réaliser quelque chose qui me permette d'automatiser les rafraichissements de plusieurs rapports BO (environ 15...)
 
pour ne pas tout refaire à la main...
 
et aussi si possible, que chaque rapport s'enregistre en Pdf dans un répertoire...
 
voila, je vous remerci d'avance...
 
bonne journée.
 
PS : j'utilise BO 6.1a


Message édité par petburn le 09-04-2004 à 17:01:55
mood
Publicité
Posté le 06-04-2004 à 16:56:36  profilanswer
 

n°693974
petburn
Posté le 06-04-2004 à 18:06:41  profilanswer
 

personne ???
 
bon, voila, commetn je vois les choses :
 
étape 1 : suppression des fichiers existants (pdf et exel)
     - kill
     - ou (plutot je pense...)  
         Dim FS
         Set FS = CreateObject("Scripting.FileSystemObject" )
         FS.DeleteFile "c:\useless.txt"
 
étape 2 : rafraichissement des rapports
      - ???
 
étape 3 : enregistrement des nouveaux rapports (au format PDF et exel...) dans le bons répertoires
      - ???
 
toujours personne ????


Message édité par petburn le 06-04-2004 à 18:09:22
n°693977
petburn
Posté le 06-04-2004 à 18:10:19  profilanswer
 

à oui..
j'oublais.. je ne veux pas utiliser broadcast agent (pour ceux qui connaissent...)
 

n°694430
petburn
Posté le 07-04-2004 à 08:53:19  profilanswer
 

tjs personne... ???
 
ou est ce que je pourrai trouver de la doc sur VBA sous BO ????

n°694459
petburn
Posté le 07-04-2004 à 10:40:01  profilanswer
 

en clair, ce que je veux faire :
mettre à jour des fichiers exporté à partir de rapports BO.
et cela automatiquement. (pour ne pas avoir à le faire à la main pour les 15/20 rapports que j'ai...)
 
1 : supprimer un fichier pdf et un fichier excel
2 : ouvrir un rapport BO
3 : le mettre à jour
3 : exporter le rapport au format pdf
4 : exporter le repport au format xls.
 
donc s'il vous plait... si vous avez quelquechose qui pourrai m'aider... je serais super heureux...
 
et sinon, je recherche toujours es docs sur VBA pour BO....

n°694967
petburn
Posté le 07-04-2004 à 18:19:32  profilanswer
 

bon, j'avance un peu...
 
j'arrive à exporter au format pdf et xls, c'est pas très compliqué :
 
ActiveReport.ExportAsPDF (location & ActiveReport.Name & ".pdf" )
ActiveReport.ExportAsExcel (location & ActiveReport.Name & ".xls" )
 
location est le lien vers le répertoire ou seront enregistré le pdf et le xls;
 
par contre, je n'arrive psa à trouver comment rafraichir le rapport...
 
sinon :
chaque rapport aura la macro sur lui...
 
et un rapport "père" lancera les autres rapports et leurs macro..
dans le style :
Application.Run("nom_rapport.rep"!nom_macro, param1, param2...)
 
est ce que je suis dans le bon chemin ?????

n°695442
petburn
Posté le 08-04-2004 à 13:55:59  profilanswer
 

en fait, pour exporter tout les rapports (onglets) d'un même fichier ".rep", il ne faut pas utiliser Activereport, mais ActiveDocument.
 
ca marche bien pour exporter en pdf (Export As pdf)  
 
mais la fonction exportAsExcel n'est pas possible... ou du moins je ne l'ai pas trouvée...
 
est ce que quelqu'un aurait trouvé une solution à mon (mes en fait) problèmes.... ????
 
PS : j'ai un peu l'impression de ne parler qu'à moi...

n°696530
petburn
Posté le 09-04-2004 à 14:34:40  profilanswer
 

finalement, pour le exportAsExcel, je laisse ActiveReport... il faut juste veiller à ce que ce soit le bon onglet qui soit actif.
 
je parle tjs tout seul !!!!!
 
personne ne fais des macro VBA sous BO ?????? je suis le seul en france (présent sur le forum...) ?????

n°697849
fabby69
Posté le 12-04-2004 à 21:17:48  profilanswer
 

Pour le rafraichissement ça ne doit pas être compliqué
 
as-tu les bonnes bibliothèques: Référencement de la bibliotheque "BusinessObjects 6.1 Object Library"  
 
 
après tu peux mettre le chemin de ta requête en variable
----------------------------------------------
 
Private appBO As busobj.Application  
Private docBO As busobj.Document  
Private repBO As busobj.Report  
   
Function Fct_InitBO_var(byval ReqBO as string )  
 
Set appBO = New busobj.Application  
 
  appBO.Interactive = True  
 
  appBO.LoginAs "MonLog", "MotdePasse", False  
     
  appBO.Visible = True  
 
Set docBO = appBO.Documents.Open(ReqBO)  
   
   
appBO.Interactive = False  
docBO.Refresh  
 
docBO.Close  
appBO.Quit  
 
Set docBO = Nothing  
Set appBO = Nothing  
 
End Function  

n°698041
petburn
Posté le 13-04-2004 à 10:21:49  profilanswer
 

ca ne marche pas bien...
 
je dois mettre les 3 private dans le fonction... et les changer en Dim...
sinon, il gueule..
 
et encore, ca ne marche tjs pas....

mood
Publicité
Posté le 13-04-2004 à 10:21:49  profilanswer
 

n°700038
pumpkin031​2
Posté le 15-04-2004 à 12:24:08  profilanswer
 

Quel message d'erreur as-tu ?

n°700225
petburn
Posté le 15-04-2004 à 15:06:36  profilanswer
 


pour le message d'erreur, je ne sais plus... mais finalement, j'ai changer un peu de technique...
 
ce que je veux :
a voir un rapport BO ("lance.rep" )
dans ce rapport, une macro VBA qui :
    - ouvre un rapport ("rep1.rep" )
    - lance une requête de "rep1.rep" (cette macro filtre et export en pdf...)
    - passe à un autre rapport ("rep2.rep" )  
    - et ainsi de suite...
 
des idées ..... ???
   

n°700751
pumpkin031​2
Posté le 16-04-2004 à 09:32:46  profilanswer
 

je sais pas si on peut inserer une macro VBA dans un rapport BO ...
 
Tu travailles depuis quel outil ? excel, access, VB... ?
 
moi ce que j'ai c'est : une base access, avec une formulaire sur lequel il y a un compteur. Tous les dimanches soirs à 20h00, ce compteur lance une macro, dans laquelle j'ai un code pour chacune de mes requêtes BO (parce que je fais des calculs de variables pour les critères de mes requêtes BO).
 
Voici le code :
 
 
Private appBO As busobj.Application
Private docBO As busobj.Document
Private repBO As busobj.Report
 
 
Function lancement()
 
Dim Fi
Fi = "C:\Chemin\NomFichiers.pdf"
 
Dim Rq
Rq = "C:\Chemin\NomReqêteBO.rep"
 
Dim Go
Go = Fct_lanceBO(Fi, Rq)
 
End Function
 
 
 
Function Fct_lanceBO(NomFichier As String, NomReqBO As String)
 
' ------------ Cherche si fichier .pdf existant + suppr  ---------------
 
Application.FileSearch.FileName = NomFichier
 
    If Application.FileSearch.Execute > 0 Then
        Kill "C:\Chemin\NomFichiers.pdf"
    End If
 
' ----------------- ouvre Businessobject  ------------------------------
 
Set appBO = New busobj.Application
 
  appBO.Interactive = True
 
  appBO.LoginAs "MonLog", "MotdePasse", False
     
  appBO.Visible = True
 
'---------------------  lance requête BO  ------------------------------
 
Set docBO = appBO.Documents.Open(NomReqBO)
 
appBO.Interactive = False
 
docBO.Refresh
 
Set repBO = docBO.Reports.Item(1)
 
repBO.ExportAsPDF (NomFichier)
 
'---------------------  ferme BO  --------------------------------------
 
docBO.Close
appBO.Quit
 
Set docBO = Nothing
Set repBO = Nothing
Set appBO = Nothing
 
End Function
 
 
 
Si malgrés ça, tu as encore des pbm, n'oublie pas de préciser sur quel outil tu trailles et quel message d'erreur tu as (et où).
 :)

n°700880
GOOOOO
Posté le 16-04-2004 à 11:26:26  profilanswer
 

Salut.
 
Je voudrai savoir un truc, comment créer une requete dans une macro créée à l'aide de Visual Basic Editor dans BusinessObjects.
J'ai pas de connaissance en VB :pfff: .
 
Je voudrai intégrer la requete suivante :
 
SELECT result1.network_operator_id,result1.month,result1.product_id, result1.durée1, result2.durée2  
  FROM (SELECT network_operator_id,last_day(call_date) as month, product_id, sum(duration) as durée1  
        FROM daily_summary  
        GROUP BY network_operator_id, last_day(call_date), product_id) result1,  
       (SELECT feeder_cust_code,last_day(traffic_date) as month, prod_line, sum(unit_count) as durée2  
        FROM posted_account_entry  
        GROUP BY feeder_cust_code,last_day(traffic_date) , prod_line) result2  
  WHERE result1.network_operator_id = result2.feeder_cust_code
  AND result1.month=result2.month
  AND result1.product_id= result2.prod_line
  AND result1.network_operator_id = 'GBBT'
  AND result1.product_id= 'IDTF';  :pt1cable:  
 
 
Salut

n°701141
petburn
Posté le 16-04-2004 à 15:16:56  profilanswer
 

GOOOOO a écrit :

Salut.
 
Je voudrai savoir un truc, comment créer une requete dans une macro créée à l'aide de Visual Basic Editor dans BusinessObjects.
J'ai pas de connaissance en VB :pfff: .
 
Je voudrai intégrer la requete suivante :
 
SELECT result1.network_operator_id,result1.month,result1.product_id, result1.durée1, result2.durée2  
  FROM (SELECT network_operator_id,last_day(call_date) as month, product_id, sum(duration) as durée1  
        FROM daily_summary  
        GROUP BY network_operator_id, last_day(call_date), product_id) result1,  
       (SELECT feeder_cust_code,last_day(traffic_date) as month, prod_line, sum(unit_count) as durée2  
        FROM posted_account_entry  
        GROUP BY feeder_cust_code,last_day(traffic_date) , prod_line) result2  
  WHERE result1.network_operator_id = result2.feeder_cust_code
  AND result1.month=result2.month
  AND result1.product_id= result2.prod_line
  AND result1.network_operator_id = 'GBBT'
  AND result1.product_id= 'IDTF';  :pt1cable:  
 
 
Salut
 


 
je comprends pas ce que tu veux faire...
 
tu veux lancer cette requette sur ton univers...??? avec VBA... ???
modifier une requette.. et la ramplacer par celle ci ???

n°701309
GOOOOO
Posté le 16-04-2004 à 17:39:33  profilanswer
 

Salut.
 
Ce que je veux c'est récupérer les résultats d'une requête avec la foction @script.
 
Voilà....

n°702604
petburn
Posté le 19-04-2004 à 11:14:24  profilanswer
 

GOOOOO a écrit :

Salut.
 
Ce que je veux c'est récupérer les résultats d'une requête avec la foction @script.
 
Voilà....


 
désolé, mais je ne sais pas... ou du moins pas pour le moment...

n°704050
petburn
Posté le 20-04-2004 à 16:12:26  profilanswer
 

sinon, en réponse à pumpkin0312 >
je bosse directement sous BO

n°704111
pumpkin031​2
Posté le 20-04-2004 à 16:57:16  profilanswer
 

Désolée, ma boite a une version diminuée de BO : sans gestion de VBA ...Je ne sais travailler en VBA avec BO que depuis depuis access.

n°704560
petburn
Posté le 21-04-2004 à 09:07:08  profilanswer
 

ok, moi, c BO en Full + Oracle

n°816443
nadjeta
Posté le 06-08-2004 à 09:38:44  profilanswer
 

Enfin, g pu trouver des personnes qui travaillent avec Bo et VB,
Mon problème à moi c que g créé une requête sous BO pour pouvoir générer des rapports de statistique et au niveau da ma clause Where ,mes conditions sont statiques cad que la valeurs de mes variables sont prédéfinies en avance,j'aimerais savoir comment rendre ma requête dynamique en saisissant  des valeurs différentes via une IHM faite avec VB??? Aidez moi SVP!!!

n°818730
Bleep
Posté le 10-08-2004 à 10:32:52  profilanswer
 
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  rafraichissement de rapports BO en VBA...

 

Sujets relatifs
[VBA - Powerpoint] Association Macro foireuse ou bug de pwpt ??VBA - programmer un formulaire Rendez-vous
VBA EXCEL : comment récupérer le numéro de colonne et de ligne d'une a[vba] faire la somme dans un rapport help
[vba] acceder a la clé dune collectioncomment creer un axe avec VBA ?
Creer un type d'echelle graphique sous VBAHelp : VBA : Gestion/Modification d'un Objet OLE Powerpoint dans Excel
[VBA] Remplissage sous ExcelImporter un report BO depuis access en VBA
Plus de sujets relatifs à : rafraichissement de rapports BO en VBA...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR