IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Déclaration Object MsGraph


Sujet :

Access

  1. #1
    Membre actif Avatar de zEndymion
    Homme Profil pro
    Responsable des applications
    Inscrit en
    Avril 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des applications
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2006
    Messages : 162
    Points : 203
    Points
    203
    Par défaut Déclaration Object MsGraph
    Bonjour a tous,

    Petite question de confort pour la déclaration d'un object MsGraph.
    Je voudrais récupérer toutes les métodes et propriétées d'un object Chart, mais je ne sais pas comment affecté l'obect dans le formulaire a une variable

    Le code fonctionne (bien ) actuellement comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    OFrmGraph.LeGraph.Export "c:\test.gif"
    Mais j'aimerais avoir quelques chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub OFrmGraph_EventPrint()
     
        Dim oChart As Chart
        Set oChart = OFrmGraph.LeGraph.Object    --> Erreur
        
            oChart.Export "C:\Test.Gif"
     
        Set oChart = Nothing
     
    End Sub
    Sur l'affectation, il me met l'erreur "Incompatibilité de type"
    Si quelqu'un à la syntaxe correct

    Merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Si je comprends bien:
    * OFrmGraph est une référence vers un formulaire ouvert,
    * dans ce formulaire, LeGraph est le nom d'un contrôle de type ObjectFrame, qui contient une instance du composant Microsoft Graph (composant ActiveX).

    La propriété Object retourne une référence vers l'instance du composant, donc dans ton cas il s'agit d'un objet de type Graph.Application.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub OFrmGraph_EventPrint()
        Dim oGraph as Graph.Application
        Dim oChart As Graph.Chart
     
        Set oGraph = OFrmGraph.LeGraph.Object
        Set oChart = OGraph.Chart()
     
        oChart.Export "C:\Test.Gif"
     
        Set oChart = Nothing
        Set oGraph = Nothing
    End Sub
    On peut simplifier/abréger ce code volontairement "verbeux" pour que les choses soient bien claires .

  3. #3
    Membre actif Avatar de zEndymion
    Homme Profil pro
    Responsable des applications
    Inscrit en
    Avril 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des applications
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2006
    Messages : 162
    Points : 203
    Points
    203
    Par défaut
    Slt,

    C'est tout à fait ça, mais j'ai toujours l'erreur sur la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set oGraph = OFrmGraph.LeGraph.Object

  4. #4
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonjour,

    Tu peux peut-être essayer avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim oleGrf As Object
    Set oleGrf = Me.OLEchart.Object
    Remplacer le Me par le nom de ton formulaire.

    Espérant que ça fonctionnera.

  5. #5
    Membre actif Avatar de zEndymion
    Homme Profil pro
    Responsable des applications
    Inscrit en
    Avril 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des applications
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2006
    Messages : 162
    Points : 203
    Points
    203
    Par défaut
    Que nini Que nini

    ........... Toujours cette incompatibilité de type

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Que nenni...

    Bon alors, je vérifie et, ô stupéfaction, je me suis trompé ...
    Le type de la référence retournée est effectivement Graph.Chart.

    Alors, il s'agirait d'un "bête" problème de conflit entre 2 bibliothèques possédant un type de classe avec le même nom : Chart ?

    Auquel cas, l'utilisation du nom de la bibliothèque élimine l'ambiguïté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub OFrmGraph_EventPrint()
     
        Dim oChart As Graph.Chart
     
        Set oChart = OFrmGraph.LeGraph.Object
        oChart.Export "C:\Test.Gif"
     
        Set oChart = Nothing
     
    End Sub

  7. #7
    Membre actif Avatar de zEndymion
    Homme Profil pro
    Responsable des applications
    Inscrit en
    Avril 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des applications
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2006
    Messages : 162
    Points : 203
    Points
    203
    Par défaut
    Désolé, pas encore tout a fait ça, mais tes remarques m'ont mit sur la voie.

    Il fallait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Dim oGraph As Graph.Application
        Dim oChart As Graph.Chart
     
        Set oGraph = OFrmGraph.LeGraph.Object.Application
        Set oChart = oGraph.Chart()
        
     
        oChart.Export "C:\Test.Gif"
     
        Set oChart = Nothing
        Set oGraph = Nothing
    Et là c'est le miracle, , merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déclaration d'un tableau d'Object
    Par elitost dans le forum Groovy
    Réponses: 1
    Dernier message: 19/10/2005, 14h15
  2. Problème de déclaration de segment avec use32
    Par le mage tophinus dans le forum Assembleur
    Réponses: 2
    Dernier message: 10/01/2003, 10h17
  3. Une déclaration pour la survie du jeu vidéo en France
    Par Freakazoid dans le forum DirectX
    Réponses: 1
    Dernier message: 30/10/2002, 14h31
  4. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo