Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > SDK
SDK Forum d'entraide pour la programmation des outils BO par des API (VBA, ASP, Java)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2007, 11h19   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 10
Points : 0
Points : 0
Par défaut [VBA]connexion à BO et récupération du résultat vers une table Access

Bonjour,
Je voudrais exécuter une requete via BO opar programmation VBA et récupérer le résultat vers une table Access (par exemple en exportant le résultat vers un fichier text que j'importerais pasr table liée à ce fichier) ? est ce que c 'est possible si Oui, quelqu'un peut t-il me donner le code corespondant svp.
Merci infiniment
totocasagrandi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 08h47   #2
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Par défaut Rafraichissement et export d'un rapoprt en pdf via une macro VBA

Voilà ci-dessous une "portion" de code qui permet de rafraichir un document BO, et de l'exporter sous forme de pdf.
Il te suffira de remplacer la fonction ExportAsPdf par celle qui te convient pour résoudre ton problème.

Et bien sur de compléter la Macro (gestion des erreurs, déclarations de variables, etc...)

Bon courage


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 'Procédure qui permet d'ouvrir, rafraichir et exporter un document en pdf
Sub Exporter(nom_fichier, Optional valeur_année, Optional valeur_mois, Optional valeur_date)
    Dim Doc             'Déclaration du Document BO
    Dim i As Integer    'N° de l'invite du rapport BO (varie avec le rapport)
 
    'Evite le renvoi de messages d'erreur si la requête ne retourne pas de données(empeche Bo d'afficher des boites de dialogue)
    Application.Interactive = False
 
                ON Error GoTo ouverture
                'OUverture du document BO
                Set Doc = Application.Documents.Open(Chemin)
 
                'Rafraichissement du rapports avec les invites saisies 
 
                          'Boucle qui permet d'envoyer aux invites BO, les valeurs saisies dans la macro VB
                           FOR i = 1 TO Doc.VARIABLES.Count
 
                                    'Pour les invites de choix de l'année
                                    IF (Doc.VARIABLES.Item(i).Name = "1-Choix année") Then
                                        Doc.VARIABLES.Item(i).Value = valeur_année
 
                                    'Pour toutes les autres invites on utilise un caractère générique
                                    Else
                                        Doc.Variables.Item(i).Value = "%"
                                    End If
                            Next i
 
 
                            On Error GoTo rafraichissement
                            'Rafraichissement du document
                            Doc.Refresh
 
 
                             ON Error GoTo exportation
                            'Enregistrement de la version PDF dans le répertoire de stockage
                            Doc.ExportAsPDF (Chemin_stockage)
 
                             nb_export = nb_export + 1
                             UpdateProgress (nb_export)
 
                        Else
                            Exit For
                        End If
 
                Next j
 
                'Fermeture du document BO
                Doc.Close
 
        End IF
 
    Next k
 
    'Retablissement mode utilisateur d'echange de document et autorisation des boites de dialogue
    Application.ExchangeMode = boUserMode
    Application.Interactive = True
 
Exit Sub
 
 
'Procédure de lancement de la génaration lorsqu'ON clique sur la bouton "lancer"
Sub lancer_click()
 
    'Informations sur les rapports
    nb_rapports = 1
    nom_rapport(1) = "xxxxxxxxxxxxxxxxxxxx.rep"
 
    'Lancement de l'export pour chaque rapport, pour chaque BU, et chaque niveau
    Call invite.Exporter(nom_rapport(1), invite.année_text_1.Value)
 
    msgbox ("Génération effectuée avec succès !") 
 
End Sub
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 11h13   #3
Invité régulier
 
Homme
Inscription : mars 2007
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : mars 2007
Messages : 27
Points : 8
Points : 8
Par défaut Erreur lors de l'éxécution

Bonjour

Je vous remercie de votre code qui me sauve. Mais j'ai juste un petit souci. Quand j'essaie d'éxécuter ma macro, j'ai un message d'erreur sur la ligne 66:
Code :
Nom_Rapport(1) = "XXXXXXX.rep"
(dans mon cas, j'ai 2 rapports);
Citation:
Compile error: sub or Function not defined
(pourtant j'ai bien fait les déclarations).
merci de votre retour.
ManinBI est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h02.


 
 
 
 
Partenaires

Hébergement Web