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
| Public Sub btn_editer_graphe_Click()
On Error GoTo Err_btn_editer_graphe_Click
Dim ReponseJPG As VbMsgBoxResult
Dim RepertoireJPG As String
Dim nOmform As String
nOmform = "Positionnement_Massique_Avion"
RepertoireJPG = CurrentDir
ReponseJPG = Msgbox("Souhaitez vous exporter le graphe au format JPEG ?", vbYesNo, "Export JPEG")
If ReponseJPG = vbYes Then
Export_JPG "" & nOmform & "", RepertoireJPG
Msgbox ("Export JPG Terminée")
End If
Exit_btn_editer_graphe_Click:
Exit Sub
Err_btn_editer_graphe_Click:
Msgbox Err.Description
Resume Exit_btn_editer_graphe_Click
End Sub
Public Sub Export_JPG(Nomfor As String, RepertoireJPG)
Dim GraphName As String ', NomGraphOLE, Nomgraph As String
Dim oleGrf As Object
Dim sql As String
GraphName = "C:\Logo.jpg"
sql = Forms.Positionnement_Massique_Avion.Positionnement_Massique_Avion_graphe.RowSource
Apercu_Etat_btn_Click 'procédure de génération de l'état utilisée à pls autres moments
'LE CODE A L'EXTERIEUR DES ------- DEVRAIT VOUS SUFFIRE, SINON LISEZ TOUT
'Pour résumer mon cas, j'ai un message d'erreur quand je ne filtre pas la liste d'items, ou alors ça marche nickel quand je filtre et je sélectionne des items dans ma liste filtré
'-------------------------------------------------------------------
' Dans mon cas j'ai un filtre de sélection d'item avant la génération de mon form, si on sélectionne une fonction précise, une liste d'items précise sort en conséquent
' Mon controle incrémentant le filtre est comme ceci : controle.value={'Filtrer";fonction1;fonction2...fonctionN) aynt pour source Table.Fonction {fonction1;fonction2...fonctionN).
' Filtrer est le masque de saisie.
' Lorsque je sélectionne dans une liste d'items pas filtrée (donc en laissant le masque de saisie Filtrer), mes requêtes n'ajoutent pas la condition where "Fonction="Forms!Fonction..."
' ce qui est mon souhait, mon form et etat de comparaison se génerebt bien, mais lors de l'export graphique, j'obtiens le message d'erreur,
' il doit y avoir un pb avec pas mal de VBA en rapport avec le filtre.
' A AJOUTER SI VOUS AVEZ UN FILTRE GENERAL (ex:fonction d'un avion) SUR VOTRE ETAT/FORM PRINCIPAL, généré après sélection avions dans le form de selection d'avion filtré ou non;
' LE MEME FILTRE DANS LE WHERE DE VOTRE REQUETE SOURCE DE VOTRE TABLEAU DE DONNEES MIS EN SS_ETAT/SS_FORM INDEPENDANT ;
' ET AUSSI LE MEME FILTRE DANS LE WHERE DE VOTRE REQUETE SOURCE DE VOTRE GRAPHIQUE QUI EST UN OBJET DE VOTRE ETAT/FORM PRINCIPAL
' DONC DEPENDANT DE VOTRE ETAT/FORM PRINCIPAL ET DE SON FILTRE PAR CONSEQUENT
'En espérant que ça soit compréhensible si vous tombez sur le meme probleme...
'ces 3 lignes suivantes sont donc toutes INDISPENSABLES (encore plus la 3e), tout ça évite d'avoir une absence de curseur sur le graphique à la fin,
'sinon il n'est plus reconnu d'où message d'erreur probleme OLE graphique
'Donc en fait réactualise deux fois la requête du graphique de l'état par la requête du form, qui lui ne "bouge pas" pendant la sub
DoCmd.OpenReport Nomfor, acDesign
Reports(Nomfor).Positionnement_Massique_Avion_graphe.RowSource = sql
DoCmd.OpenReport Nomfor, acPreview
'--------------------------------------------------------------------
Set oleGrf = Reports(Nomfor).Positionnement_Massique_Avion_graphe 'Forms avant
oleGrf.Export filename:=GraphName
Set oleGrf = Nothing
DoCmd.OpenReport Nomfor, acDesign
Reports(Nomfor).Positionnement_Massique_Avion_graphe.RowSource = sql
DoCmd.Close , , acSaveNo 'ferme état sans save, et retour au form tjs ouvert
End Sub |
Partager